首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多线程python/ruby vs java?

多线程python/ruby vs java?
EN

Stack Overflow用户
提问于 2010-06-03 13:59:48
回答 3查看 5K关注 0票数 2

我想知道python/ruby中的多线程是否等同于java中的多线程?

我的意思是,它有效率吗?

因为如果你想创建一个使用comet技术的聊天应用程序,我知道你必须使用多线程。

这是不是意味着我可以使用python或ruby,还是使用java更好?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-03 20:35:16

这不是关于Ruby、Python或Java的问题,而是更多关于Ruby、Python或Java的具体实现的问题。有一些Java实现具有极其高效的线程实现,也有一些Java实现具有极其糟糕的线程实现。Ruby和Python也是如此,基本上任何语言都是如此。

即使像Erlang这样的语言,低效的线程实现甚至没有意义,有时也会有糟糕的线程实现。

例如,如果您使用JRuby或Jython,那么您的Ruby线程和Python线程就是Java线程。因此,它们不仅与Java线程一样高效,而且与Java线程完全相同。

票数 9
EN

Stack Overflow用户

发布于 2010-06-03 16:12:24

Ruby和Python都使用全局解释器锁。这里详细讨论了这个问题:Does ruby have real multithreading?

票数 3
EN

Stack Overflow用户

发布于 2010-06-03 22:25:57

philosodad指出GIL带来的约束是正确的。我不会为Ruby说话,但我确信,当您提到Python时,您实际上是指规范的cPython实现,这是可以肯定的。

在cPython的情况下,如果你想并行化在Python语言中实现的计算密集型操作,GIL是最重要的(就像在可以发布GIL的C扩展中一样)。

但是,当您编写非密集型I/O密集型应用程序(如聊天程序)时,线程实现的效率实际上就是并不是那么重要的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2963615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档