并发与并行的区别

一张图了解并发与并行

并发与并行

并发

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

并行

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

图片详解

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

总结

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章