start(*arg) {|*arg| ... } -> Thread
[permalink][rdoc]fork(*arg) {|*arg| ... } -> Thread
スレッドを生成して、ブロックの評価を開始します。生成したスレッドを返します。
基本的に Thread.new と同じですが、 new メソッドと違い initialize メソッドを呼びません。
注意:
例えば、以下のコードは間違いです。スレッドの実行が開始される前に変数 i が書き変わる可能性があるからです。
for i in 1..5 Thread.start { p i } end
上の例は以下のように書き直すべきです。
for i in 1..5 Thread.start(i) {|t| p t } end