单核CPU
- 单核CPU下线程实际还是串行的
- 操作系统中有一个组件叫做任务调度器,将CPU的时间片(windows下时间片最小约为15毫秒)分给不同的程序使用,只是由于CPU在线程间(时间片很短)的切换非常快,人们感觉是同时运行的
- 总结:微观是串行的,宏观是并行、
- 一般会将这种线程轮流使用CPU的做法称为并发(concurrent)
多核CPU
并发(concurrent)是同一时间应对多件事情的能力 并行(parallel)是同一时间动手做多件事情的能力
并行与并发的区别
现在都是多核CPU,在多核CPU下:
- 并发是同一时间应对多件事情的能力,多个线程轮流使用一个或多个CPU
- 并行是同一时间动手做多件事情的能力,4核CPU同时执行4个线程