首页 > 其他 > 详细

并发和并行

时间:2017-09-04 14:00:53      阅读:143      评论:0      收藏:0      [点我收藏+]

 

1、“并发”指的是程序的结构,“并行”指的是程序运行时的状态

2、并行:同一时刻执行,判断程序是否处于并行的状态,就看同一

时刻是否有超过一个“工作单位”在运行就好了

 

所以,单线程永远无法达到并行状态。

     要达到并行状态,最简单的就是利用多线程和多进程。

   Python的多线程由于存在著名的GIL,无法让两个线程真正“同时运行”,

所以实际上是无法到达并行状态的。

3、并发:并发指的是程序的“结构”。

当我们说这个程序是并发的,实际上,这句话应该表述成“这个程序采用了

支持并发的设计”。既然并发指的是人为设计的结构,那么怎样的程序

结构才叫做支持并发的设计?

   正确的并发设计的标准是:使多个操作可以在重叠的时间段内进行

“操作在重叠的是时间段内进行”,

技术分享

由上图可看到,在任何一个时间点上都只有一段代码在执行。

这是个支持并发的设计,与并行不同,单核单线程能支持并发。

 

并发和并行

原文:http://www.cnblogs.com/guoyinglichong/p/7472957.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!