计算机的并发
假设有两个任务,每个任务被分成了大小相等的块:
1)
- 对于以前的单核计算机,其只能在某一时刻执行一个任务,但实际上每一秒进行了很多次的任务切换,也就是说任务并不是顺序进行的。这样的任务切换很快,人甚至还来不及感受到一个任务已经被挂起,而另一个任务已经被切换执行了,因此造成并发的假象。
- 值得一提的是,在每次切换任务时会做一次上下文切换,保存当前的CPU状态和指令指针,调度以后加载新任务的CPU状态和指令指针到缓存中,这就会造成系统开销
2)
- 对于多核计算机,A/B两个任务可以在单独的核心上执行,这才叫并行。而事实上,执行任务时并不一定是下面这样的,大多数都是交替执行的。
并发的目的
1、分离关注点