为什么Java虚拟机中没有GIL?为什么Python需要这么糟糕?

问题:

我希望有人可以提供一些关于Java虚拟机的根本区别的洞察力,它允许它很好地实现线程,而不需要全局解释器锁(GIL),而Python需要这样的邪恶。

回答:

Python(语言)不需要GIL(这就是为什么它可以完美地在JVM [Jython]和.NET [IronPython]上实现,以及那些实现多线程的自由)。 CPython(流行的实现)一直使用GIL来简化编码(特别是垃圾收集机制的编码)和非线程安全的C编码库的集成(过去一直是一堆; – )。
Unladen Swallow项目除了其他雄心勃勃的目标之外,还为plan一个无GIL的Python虚拟机引用了该网站。“此外,我们打算删除GIL并修复Python中的多线程状态。相信这是可能的,通过实施更复杂的GC系统,像IBM的Recycler(Bacon等人,2001)。

 
 Code问答: codewenda.com
Stackoverflow:Why is there no GIL in the Java Virtual Machine? Why does Python need one so bad?

发表评论

电子邮件地址不会被公开。 必填项已用*标注

82 − 74 =