Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > thwaitライブラリ > ThreadsWaitクラス > all_waits
all_waits(*threads) -> ()
[permalink][rdoc]all_waits(*threads) {|thread| ...} -> ()
指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。
require 'thwait' threads = [] 5.times {|i| threads << Thread.new { sleep 1; p Thread.current } } ThreadsWait.all_waits(*threads) {|th| printf("end %s\n", th.inspect) } # 出力例 #=> #<Thread:0x21584 run> #=> #<Thread:0x21610 run> #=> #<Thread:0x2169c run> #=> #<Thread:0x21728 run> #=> #<Thread:0x214f8 run> #=> end #<Thread:0x21584 dead> #=> end #<Thread:0x21610 dead> #=> end #<Thread:0x2169c dead> #=> end #<Thread:0x21728 dead> #=> end #<Thread:0x214f8 dead>