微观串发,宏观并发
单核cpu下,线程是串行执行的。操作系统中有一个组件叫任务调度器,将cpu时间片分给不同的线程使用,只是由于线程间时间片很短,切换非常快,人们感觉是同时运行的。
并发Concurrent
线程轮流使用cpu的行为。
并行Parallel
4核、8核处理器,多核cpu下同时运行。
所以综上所述,多核cpu中,既存在并行也存在并发。
生活例子
1.我做饭,扫地,洗衣服,一个人轮流交替做这么多件事,这就是并发。
2.我和妻子,一起做这些事情,这时候既有并发也有并行,这时就会产生竞争,例如锅只有一口,我用锅时,妻子只有等待。
3.我,妻子和孩子,我负责做饭,妻子负责洗衣服,儿子负责扫地,这时就是并行。