全局解释器锁:Jython 与 CPython 对比

3

CPython 采用 GIL 来防止互斥等问题。然而,这样做的后果是解释器无法利用多核CPU。我也了解到,Jython 不需要GIL,因为其实现已经是线程安全的。

这是否意味着,当涉及到并发编程和利用多核CPU时,Jython是一种更优秀的实现方式?


你想要做什么? - roganjosh
@roganjosh 我只是好奇,在设计多线程应用程序时,Jython是否比CPython更好的选择。 - lpan
1个回答

1

是的,Jython使用Java线程(即使您使用Python的线程模块),因此它没有GIL。但这不是答案(否则答案应该是42,因为问题不清楚:^))。 更好的问题是,您有哪些标准,以及CPython或Jython哪个更好。

如果您想要真正的多线程,那就是您的事情。 如果您想使用Java和Python,请使用它。 如果您想要快速执行时间....那么其他语言可能会更好(您可以尝试在Python中的线程任务中测量时间,并在Jython中尝试相同的代码,但我猜即使有GIL,CPython也会更快)。

问候, Zonk


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接