1

我对 Ruby 非常陌生,我正在研究一个项目来运行一个使用赛璐珞库实现的多线程 ruby​​ 程序。

似乎当我尝试使用以下命令运行程序时:

ruby program_name.rb

代码运行不正常,它说 GIL 正在阻止它使用多个内核。我了解 GIL 是 ruby​​ 解释器使用的锁定机制,但我想知道是否有一种方法可以使用特殊命令来禁用它以使并发程序运行。

如果这是不可能的,有没有其他方法可以在 ruby​​ 中执行多线程程序/使用任何支持 Ruby 中的多线程的在线编辑器/IDE?

4

1 回答 1

1

使用 jRuby 或 Rubinius

我更喜欢rvm这个。见:http ://rvm.io

然后运行:

rvm get stable
rvm install jruby 

对于 jRuby。更改rbx为鲁比尼乌斯。

然后你可以在 Ruby 引擎之间切换:

rvm use <jruby/rbx>

使用Celluloid你应该尝试两者并经常比较它们。

于 2016-03-16T06:33:18.200 回答