21

我确信它没有,但在互联网上寻找明确的答案让我怀疑。例如,我收到了一篇2008 年的帖子,乍一看有点像笑话,但仔细一看似乎是认真的。

编辑: ……仔细一看,原来个笑话。对困惑感到抱歉。实际上,正如 Nikhil 正确指出的那样,该帖子的评论回答了我的问题。

我们意识到 CPython 在这方面遥遥领先,而且我们缺乏兼容性。经过认真的头脑风暴(和几杯酒),我们决定在 Jython 中引入全局解释器锁可以解决整个问题!

现在,这里的状态如何?sourceforge 上的“差异”页面根本没有提到 GIL。有没有我忽略的官方来源?

另请注意,我知道正在进行的关于 GIL 是否重要的​​讨论,但我暂时不在乎。

4

4 回答 4

26

您找到的引用确实是个笑话,这里是 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!
>>> 
于 2009-07-18T13:35:07.457 回答
23

不,不是的。它是 VM 实现的一部分,而不是语言。

也可以看看:

from __future__ import braces
于 2009-07-13T16:00:43.283 回答
5

两者都JythonIronPython缺少” GIL,因为它是底层 VM 的实现细节。前段时间找了很多资料,现在唯一能想到的就是这个了。

请记住,这GIL只是多处理器环境中的一个问题,并且在可预见的未来不太可能CPython.

于 2009-07-13T18:53:30.453 回答
-1

谷歌正在制作一个 Python 实现,它是一种改进的 cpython,性能得到了改进,称为 unladen Swallow。这将负责删除 GIL。参见:空载燕子

于 2009-07-16T10:40:32.883 回答