Global Interpreter lock:Jython vs CPython

时间:2017-03-11 19:49:07

标签: python multithreading jvm jython gil

CPython使用GIL来防止互斥等问题。但是,结果是解释器无法利用多核CPU。我还了解到Jython不需要GIL,因为它的实现已经是线程安全的。

在并发编程和使用多核CPU时,这是否意味着Jython是一个优秀的实现?

1 个答案:

答案 0 :(得分:0)

是的,Jython使用Java-Threads(即使您正在使用Python的线程模块),因此它没有GIL。但这不是答案(否则它必须是42,因为问题不清楚:^))。 更好的问题是,你有什么标准,如果CPython或Jython会更好。

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

电贺, 使...非常吃惊