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