一张图了解并发与并行

一张图了解并发与并行

  • 并发与并行
    • 并发
    • 并行
    • 图片详解
    • 总结

并发与并行

并发

并发(Concurrency)。当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。

并行

并行(Parallellism),当系统有一个以上CPU时,一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行。

图片详解

一张图了解并发与并行_第1张图片

一个最简单的例子,上半部分,有两条队伍,一个咖啡销售人员,工作人员先给第一个队伍出售几份之后转而给第二条队伍出售几份,如此来回切换,从餐厅外面观看,两条队伍都在前进中,这就是并发。
而下半部分图片,也是两条队伍,但是有两个咖啡工作人员,各自处理着自己对应的那条队伍,这就是并行。

总结

并行是指两个或者多个事件在同一时刻发生。
并发是指两个或多个事件在同一时间间隔内发生。
并行的核心是CPU数量,当CPU数量大于1个时才有并行的可能,如果只有一个处理器,没有并行的概念。

你可能感兴趣的:(计算机理论)