我已经写了一个小
python应用程序,在这里你可以看到任务管理器在典型的运行期间的外观.
http://weinzierl.name/temp/multicore-hires.png
虽然应用程序是完全多线程的,但令人惊讶的是它只使用一个CPU内核.
无论大多数现代脚本语言支持多线程,脚本只能在一个CPU内核上运行.
Ruby,Python,Lua,PHP都只能运行在一个核心上.
即使Erlang,据说特别适合于并发编程,也受到影响.
是否有内置的脚本语言?
支持不限于单个内核的线程?
包起来
答案不是我预期的,但是the TCL
answer就近了.
我想添加perl,其中(很像TCL)具有基于口译的线程.
Jython,IronPython和Groovy属于将经过验证的语言与经过验证的另一种语言的虚拟机相结合的保护伞.感谢您的提示
方向.
我选择了Aiden Bell’s答案作为接受答案.
他没有提出特定的语言,但他的话对我来说最为深刻.
解决方法
线程语法可能是静态的,但跨操作系统和虚拟机的实现可能会改变
您的脚本语言可能在一个操作系统上使用真正的线程,另一个使用假线程.
如果您有性能要求,可能需要确保脚本线程落入操作系统中最有利的层.用户空间线程会更快,但是在很大程度上阻止线程活动时,内核线程将会更好.