hottyです。 ソニックムーブ Advent Calendar 2013 12/11(水)の記事になります。 今回はRubyの並列処理について書こうと思います。 この記事には過ちがあると指摘されました(さぁどこでしょうか)。詳しくは追記を! Rubyの処理系は1.8まではユーザレベルで行うグリーンスレッドでしたが、 1.9からはMRIにYARVという処理系が組み込まれ、 カーネルがスレッドの管理を行うネイティブスレッドになりました。 では、早速ですがThreadクラスで複数のスレッドを作って並列処理を行ってみましょう。 [sourcecode lang="ruby"] list = ["A", "B", "C", "D"] io = File.open("result.log", "w") list.each do |name| thread = Thread.fork(name) do
![Rubyの並列処理とグローバルインタプリタロックの関係 | SONICMOOV LAB](https://cdn-ak-scissors.b.st-hatena.com/image/square/7e9c970acaebcbde8f6759615eff91364ab53ba5/height=288;version=1;width=512/https%3A%2F%2Flab.sonicmoov.com%2Ffiles%2F2013%2F12%2Fruby-parallel-processing.jpg)