美文网首页
并行和并发的区别

并行和并发的区别

作者: 梁帆 | 来源:发表于2021-12-13 18:41 被阅读0次

    首先要明确,这两者的英文名称也是不一样的。

    • 并行:parallellism
    • 并发:concurrency

    一、并行(parallellism)

    指在同一时刻,有多条指令在多个处理器上同时执行。
    所以无论从微观还是从宏观来看,二者都是一起执行的。


    并行

    二、并发(concurrency)

    指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。


    并发

    三、与处理器的关系

    并行(parallellism)只在多处理器系统中存在。

    在一个单核系统中,是没有办法做到真正的并行(parallelism)的;只要当一个系统是多核的情况下,当一个CPU执行线程1时,另一个线程可以执行线程2,两者之间才能真正互不抢占CPU资源。也才能做到真正的并行:parallelism。

    并行(concurrency)可以在多处理器或者单处理器的系统中存在。

    我们知道在单核的情况下,CPU是不可能真正同时执行一个以上的线程的,但是它可以把 CPU 运行时间划分成若干个时间段,再将时间段分配给各个线程执行。这样在一个时间段的线程代码运行时,其它线程处于挂起状态,在你的观察视角足够宏观的情况下,能达到多个线程同步并列执行的假象。这就是并发:concurrency。

    相关文章

      网友评论

          本文标题:并行和并发的区别

          本文链接:https://www.haomeiwen.com/subject/czzjfrtx.html