06-并行和并发概念

目标

  • 能够说出并行和并发的区别

1. 多任务的原理剖析

其实就是操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换到任务 2,任务2执行0.01秒,再切换到任务3,执行0.01秒……这样反复执行下去。 表面上看,每个任务都是交替执行的,但是,由于CPU的执行速度实在是太 快了,我们感觉就像所有任务都在同时执行一样。

image-20181110175545642

发扑克牌就很类似CPU的轮询机制

e58747e6jw1ep8x7ng8jzg20be0571kx

多张纸组成的动画(感觉一直在播放动画,实际上是多张纸在翻动)

14350675680692AFBGLEOG

2. 并行和并发

  • 并发:指的是任务数多于cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已)

  • 真正的并行执行多任务只能在多核CPU上实现,但是,由于任务数量远远多 于CPU的核心数量,所以,操作系统也会自动把很多任务轮流调度到每个核 心上执行。

image-20181110180215791

  • 并行:指的是任务数小于等于cpu核数,即任务真的是一起执行的

image-20181110180517107