首页 > 编程语言 > 详细

Python 中的GIL

时间:2015-05-25 23:55:17      阅读:343      评论:0      收藏:0      [点我收藏+]
GIL:Global Interpreter Lock,     全局解释器锁定,是指python虚拟机在执行多线程程序时,任一时刻只有一个线程在执行,这使得多线程程序无法充分利用CPU。对于一般的多线程跟IO绑定的程序,GIL影响并不明显,因为多线程跟IO绑定大多时间在等待,CPU并不是瓶颈,只有计算量大的应用才是瓶颈,GIL会限制性能的发挥。
 
为什么会存在GIL,因为python为了模拟多线程,在虚拟机底层执行字节码时避免产生竞争,多线程粒度整体加锁。
 
如果一个程序是CPU密集型的,可以通过多进程并发来提高效率。
 
如果一个程序是IO密集型的,可以通过协程或者基于IO事件的异步框架来提升效率。

Python 中的GIL

原文:http://www.cnblogs.com/doudouyoutang/p/4529094.html

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