并发和并行

并发:concurrency
并行:parallelise

并发是指同时处理很多事情(同时的概念是一种假象,实际上事情还是存在这时间片段上的先后顺序,只不过时间间隔很小,以至于人无法分辨)

并行是指同时执行很多事情。这是一种利用空间换取时间的方法,通过多核的空间拓展,来实现多任务同时执行。

摘取一段网上形象的比喻:

你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。
你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。
你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。

这段话也可以用一张图来表示:
并发和并行

上面的就是并行,下面是并发,我们可以看到在并行中,任务是独占线程的,而在并发中,多个任务是在抢占线程以实现。