当前位置:  开发笔记 > 编程语言 > 正文

哪种脚本语言支持多核编程?

如何解决《哪种脚本语言支持多核编程?》经验,为你挑选了1个好方法。

我编写了一个小的python应用程序,在这里您可以看到任务管理器在典型运行期间的外观. http://weinzierl.name/temp/multicore-hires.png

虽然应用程序是完全多线程的,但毫不奇怪它只使用一个CPU核心.尽管大多数现代脚本语言都支持多线程,但脚本只能在一个CPU内核上运行.

Ruby,Python,Lua,PHP都只能在单核上运行.即使Erlang,据说对并发编程特别有用,也会受到影响.

是否有一种脚本语言内置支持不限于单个内核的线程?

包起来

答案是并不完全符合我的预期,但在TCL回答接近.我想补充一下perl,(很像TCL)有基于解释器的线程.

Jython,IronPython和Groovy属于将经过验证的语言与另一种语言的成熟虚拟机相结合的保护伞.感谢您对此方向的提示.

我选择Aiden Bell的答案为Accepted Answer.他并没有提出一种特定的语言,但他的评论对我来说最具洞察力.



1> simon..:

你似乎使用了"脚本语言"的定义,这可能引起一些人的注意,我不知道这对你的其他要求意味着什么.

无论如何,你考虑过TCL吗?我相信,它会做你想要的.

由于您在列表中包含了相当通用的语言,因此我不知道您可以接受多么繁重的实现.如果其中一个广泛的Scheme实现不是本机线程,我会感到惊讶,但是我只记得曾经使用的MzScheme,但我似乎记得支持被删除了.当然,一些常见的LISP实现做得很好.如果Embeddable Common Lisp(ECL)有,它可能对你有用.我不使用它,所以我不确定它的线程支持状态是什么,这当然可能取决于平台.

更新 另外,如果我没记错的话,GHC Haskell并没有完全按照你的要求做,但可能会有效地做你想要的事情,因为我记得,它会旋转一个原生线程每个核心左右然后运行它那些线程......

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有