We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent cb3e970 commit 70ced58Copy full SHA for 70ced58
第一章/小心Python GIL.md
@@ -0,0 +1,6 @@
1
+##小心Python GIL
2
+
3
+GIL是一种用于实现标准Python的一种机制,也被称为CPython,是为了避免不同的线程同时执行字节码。在这门语言的使用者中,GIL存在的原因被激烈的讨论着。GIL被选来用于保护被CPython解释器使用的内存储器,而没有实现为线程的并发访问的同步机制。在任何情况下,当我们决定使用线程时,GIL将会导致一个问题,这些往往是CPU受限。比如说,I/O Threads超出了GIL的范围。也许机制将会对Python的演变带来更多的好处而不是坏处。显然,我们不能仅仅将效率作为评判一个事情是好是坏的唯一的标准。
4
5
+在某些支持进程的任务情况下使用消息传递将会在可维护性、可扩展性以及性能上带来更好的关系。即使如此,在某些情况下真的会需要线程,而这将会对GIL进行减弱。在这些情况下,所能做的就是写一些代码片段作为C语言的扩展,并且把它们嵌入到Python程序中。因此也是有替代品的,这应由开发人员分析真正的需求。那么问题来了,GIL一般来说是一个恶棍吗?重要的是要记住,PyPy团队正致力于将GIL从Python中移除的STM的实现。想了解有关此项目的更多细节,请访问<http://pypy.org/tmdonate.html>.
6
0 commit comments