我确信它没有,但在Interwebs上寻找明确答案让我有疑问。例如,我得到了一个2008 post乍一看看起来像个笑话,但看起来似乎很认真。
编辑: ......在看得更近之后,成为了一个笑话。对困惑感到抱歉。实际上,正如Nikhil所指出的那样,对该帖子的评论回答了我的问题。
我们意识到CPython在这方面远远领先于我们,而且我们缺乏兼容性。在经过严肃的头脑风暴(以及几杯葡萄酒)后,我们决定在Jython中引入Global Interpreter Lock将解决整个问题!
现在,这里的状态是什么? "differences" page on sourceforge根本没有提到GIL。有没有我忽略的官方消息来源?
另请注意,我知道目前正在讨论GIL是否重要,但我暂时不关心。
答案 0 :(得分:23)
你发现的引用确实是个玩笑,这里是Jython实现GIL的演示:
Jython 2.5.0 (trunk:6550M, Jul 20 2009, 08:40:15)
[Java HotSpot(TM) Client VM (Apple Inc.)] on java1.5.0_19
Type "help", "copyright", "credits" or "license" for more information.
>>> from __future__ import GIL
File "<stdin>", line 1
SyntaxError: Never going to happen!
>>>
答案 1 :(得分:21)
不,它没有。它是VM实现的一部分,而不是语言。
另见:
from __future__ import braces
答案 2 :(得分:4)
Jython
和IronPython
“缺少”GIL
,因为它是底层VM的实现细节。我之前发现了很多信息,现在我唯一可以提出is this。
请注意,GIL
只是多处理器环境中的问题,而CPython
中的it's unlikely to go away in the foreseable future只是问题。
答案 3 :(得分:-1)
Google正在制作一个Python实现,这是一个经过修改的cpython,其性能改进称为unladen swallow。这将负责删除GIL。 请参阅:Unladen Swallow