并发与并行
-
通过进程之间的调度,也就是进程之间的切换,我们用户感知到的好像是两个视频文件同时在播放,或者音乐和游戏同时在进行,那就让我们来看一下什么叫做并发和并行。
-
无论是并行还是并发,在用户看来都是’同时’运行的,不管是进程还是线程,都只是一个任务而已,真实干活的是cpu,而一个cpu同一时刻只能执行一个任务。
-
**并行:**同时运行,只有具备多个cpu才能实现并行
-
**并发:**是伪并行,即看起来是同时运行。
举例说明
你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。
你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。
你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。
总结
并发的关键是你有处理多个任务的能力,不一定要同时。
并行的关键是你有同时处理多个任务的能力。
所以它们最关键的点就是:是否是『同时』。
博客介绍了并发与并行的概念。指出在用户看来进程或线程似同时运行,但一个CPU同一时刻只能执行一个任务。并行需多个CPU才能实现同时运行,并发是伪并行。还通过吃饭接电话的例子说明两者区别,关键在于是否‘同时’处理任务。
2万+

被折叠的 条评论
为什么被折叠?



