理解并发与并行
文章目录
并发与并行
例子
你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。
你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发(不一定是同时的)。
你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。
概念描述
并发:指应用能够交替执行不同的任务,其实并发有点类似于多线程的原理,多线程并非是同时执行多个任务而是快速切换着执行。如果你开两个线程执行,就是在你几乎不可能察觉到的速度不断去切换这两个任务,已达到“同时执行效果”,其实并不是“同时”,只是计算机的速度太快,我们无法察觉到而已。
并行:指应用能够同时执行不同的任务
并发与并行区别
最关键的点就是:是否是同时。
两者区别:并发是交替执行,并行是同时执行。
关键字
- 竞争条件
- 非并发安全