码迷,mamicode.com
首页 > 编程语言 > 详细

Python 中的GIL

时间:2015-05-25 23:57:34      阅读:220      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!