这个东西其实一句话就能说明白:并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。
刚开始学操作系统的时候,并行和并发老是容易搞混,就在想有没有什么办法能不能根据字面意思推出它的含义。
概念(摘自百度百科)
- 并行:Parallellism,在操作系统中是指,一组程序按独立异步的速度执行,无论从微观还是宏观,程序都是一起执行的
- 并发:Concurrent,在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行)
理解
概念已经说明白了,并行是宏观微观都一起执行,并发是有时间上的重叠即可;再看一下英文(这些词本是翻译过来的),parallellism另一个意思是平行,任取一条垂线,都和两条线相交(有同一时刻的意思),而con
是“一起”的前缀,一起发生即可。
如果只是理解到这,这篇文章也没什么意义。本篇的目的是你看到这两个词(汉),你就能推理出其中的意思,虽然这两个词是外来语,但必然不是随便翻译的,咱们再挖一挖汉语。
深入理解
仅写一些可能性大是释义
并
- 合在一起
- 平列;挨着
- 一起;同时
发
- 发出;发生
- 引起;开始行动
行
- 走
- 做;从事
结合英语释义,我们可以得到结论:
并行:一起走
并发:挨着发生
你会发现,一个并
字,我们用了两种释义,不好记:
并行:合在一起走
并发:合在一起发生
走的主语是人,发生的主语是物,人一起走,是不是并排走,物一起发是不是紧挨着,一前一后(传送带),你细品。
至此,两个词已全部解释完成。