Cha*_*ain 7 ruby multithreading jruby
我试图了解MRI Ruby 1.8和JRuby之间不同线程模型的实际影响.
作为开发人员,这对我来说意味着什么?
而且,由于不同的线程模型,MRI Ruby 1.8中的代码是否有任何实际的JRuby性能特征?
cly*_*yfe 11
在线程上,在2核CPU上运行的线程程序在JRuby和其他实现上运行得更快
许多现有的ruby库都不是线程安全的,因此JRuby的优势在很多时候都是无用的.
另请注意,许多ruby编程技术(例如类变量)将需要额外的编程工作来确保线程安全性(互斥锁,监视器等),如果要使用线程.
我是一个普通的 JRuby 用户,最大的区别是 JRuby 线程是真正并发的。它们实际上是系统级线程,因此可以在多个内核上并发执行。我不知道 MRI Ruby 1.8 代码在 JRuby 上运行速度较慢的任何地方。您可能会考虑检查这个问题Does ruby has real multithreading? 。