【并发编程篇03】并行与并发的区别

58 阅读1分钟

单核CPU

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

image.png

多核CPU

image.png

并发(concurrent)是同一时间应对多件事情的能力 并行(parallel)是同一时间动手做多件事情的能力

并行与并发的区别

现在都是多核CPU,在多核CPU下:

  • 并发是同一时间应对多件事情的能力,多个线程轮流使用一个或多个CPU
  • 并行是同一时间动手做多件事情的能力,4核CPU同时执行4个线程