并发与并行的区别
- 并发(concurrency)是说进程B的开始时间是在进程A的开始时间与结束时间之间,我们就说A和B是并发的。
- 并行(parallelise)是并发的真子集,指同一时间两个进程运行在
不同
的机器上或者同一个机器不同核心
上。
这里还要说明一下。
并发和并行是相关
的,但是是两个不同的概念
。
-
Parallel Computing:并行计算
-
Concurrent programming:并发编程
再引用一张图Erlang 之父 Joe Armstrong画的图如下。
我画的如下。
只有一个咖啡机的时候,一台咖啡机其实是在并发被使用的。而有多个咖啡机的时候,多个咖啡机之间才是并行被使用的。
- 并发,指的是多个