并发与并行

例子

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

你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发(不一定是同时的)。

你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。

概念描述

并发:指应用能够交替执行不同的任务,其实并发有点类似于多线程的原理,多线程并非是同时执行多个任务而是快速切换着执行。如果你开两个线程执行,就是在你几乎不可能察觉到的速度不断去切换这两个任务,已达到“同时执行效果”,其实并不是“同时”,只是计算机的速度太快,我们无法察觉到而已。

并行:指应用能够同时执行不同的任务

并发与并行区别

最关键的点就是:是否是同时。

两者区别:并发是交替执行,并行是同时执行。

关键字

  • 竞争条件
  • 非并发安全