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 に答える