并发编程概念篇-02并行与并发
并行与并发区别 举个例子,如果有一条高速公路上面有4条车道,那么最大的并行车辆就是4辆,此条高速公路同时并排行驶的车辆小于等于4辆的时候,车辆就可以并行行驶,CPU也是这个原理,一个CPU相当于一条高速公路, 核心数或者线程数就相当于可以并排同行的车道 ,而多个 CPU 就 相当于 有多条 高速公路 。 当谈到并发的时候一定要加一个时间单位,也就是描述单位时间内的并发量是多少?离开了时间单位其实是没有意义的,俗话说一心不能二用,这对计算机也一样,原则上一个CPU只能分配给一个进程,以便运行这个进程。我们通常使用的计算机中只有一个CPU,要让它同时运行多个进程,就必须使用并发技术。实现并发技术相当复杂,最容易理解的就是“ 时间片轮转进程调度算法 ”。并发指应用能够交替执行不同的任务,比如单CPU核心下执行多线程并非是同时执行多个任务,如果你开2个线程执行,就是在几乎不可能察觉到的速度不断的去切换这2个任务,以达到” 同时执行的效果 “,其实真正意义上并不是同时执行的,只是计算机的速度太快,我们无法察觉而已。 并行指应用能够同时执行不同的任务,比如吃饭的时候可以看电视。这2件事情可以同时执行。 两者区别:一个是交替执行,一个是同时执行。 本篇为学习并发编程而理解并行与并发含义,2020年03月20日 晚24:23 wangmo 来源: oschina 链接: https://my