CPython使用GIL来防止互斥等问题。然而,结果是解释器不能利用多核CPU。我还了解到Jython不需要GIL,因为它的实现已经是线程安全的。
这是否意味着在并发编程和利用多核CPU方面,Jython是一个更好的实现?
发布于 2017-03-24 22:33:00
是的,Jython使用Java-Thread(即使你使用的是Python的线程模块),所以它没有GIL。但这不是答案(否则必须是42,因为问题不清楚:^)。更好的问题是,你有什么标准,CPython或Jython会更好。
如果你想要真正的多线程,这是你的选择。如果你想使用Java和Python,那就使用它。如果你想要更快的执行时间...那么其他语言可能会更好(你可以尝试在Python线程任务中打乱时间,在Jython语言中使用相同的代码,但我猜即使使用GIL CPython也会更快)。
你好,Zonk
https://stackoverflow.com/questions/42739844
复制相似问题