singleton method Thread.new
new(*arg) {|*arg| ... } -> Thread
-
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
- [PARAM] arg:
- 引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその スレッド固有のローカル変数に値を渡すために使用します。
- [EXCEPTION] ThreadError:
- 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発生します。
注意:
例えば、以下のコードは間違いです。スレッドの実行が開始される前に 変数 i が書き変わる可能性があるからです。
for i in 1..5 Thread.new { p i } end
上の例は以下のように書き直すべきです。
for i in 1..5 Thread.new(i) {|t| p t } end
class Thread