私が理解しているように、Ruby 1.9 は OS スレッドを使用しますが、実際には 1 つのスレッドのみが実際に同時に実行されます (ただし、1 つのスレッドがブロック IO を実行しているときに、別のスレッドが処理を実行している可能性があります)。私が見たスレッド化の例はThread.new
、新しいスレッドを立ち上げるために使用しているだけです。Java のバックグラウンドを持つ私は通常、スレッド プールを使用して、新しいスレッドが「重い」ため、多くの新しいスレッドを起動しないようにしています。
Rubyに組み込まれたスレッドプール構造はありますか? デフォルトの言語ライブラリにはありませんでした。または、通常使用される標準的な宝石はありますか? OS レベルのスレッド化は ruby の新しい機能であるため、ライブラリがそれに対してどの程度成熟しているかはわかりません。