并行和并发的区别


并行和并发的区别

简单理解
并发:一个处理器可以同时处理多个任务。这是逻辑上的同时发生。
并行:多个处理器同时处理多个不同的任务。这是物理上的同时发生。

有一个清晰地比喻:
并发:一个人同时吃三个苹果。并行:三个人同时吃三个苹果。

深入理解:

并发(concurrency):

指同一时刻只能够执行一条指令,但是多条指令被快速的进行切换,给人造成了它们同时执行的感觉。但在微观来说,并不同同时进行的,只是划分时间段,分别进行执行。
在这里插入图片描述

并行(parallel):

在同一时刻,有多条指令在多个处理器上同时执行。
在这里插入图片描述

注意
并发的多个任务之间是互相抢占资源的
并行的多个任务之间是不互相抢占资源的。

只有在多CPU或者一个CPU多核的情况中,才会发生并行。
否则,看似同时发生的事情,其实都是并发执行的。


文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录