joinでスレッド待ち
RubyのThread.startはスレッドオブジェクトを返すので、それとjoinすれば起動したスレッドを待つことになります。
Thread.start { 10.times { p Thread.current } }.join Thread.start { 10.times { p Thread.current } }.join
実行結果。
#<Thread:0x29470c0 run> #<Thread:0x29470c0 run> #<Thread:0x29470c0 run> #<Thread:0x29470c0 run> #<Thread:0x29470c0 run> #<Thread:0x29470c0 run> #<Thread:0x29470c0 run> #<Thread:0x29470c0 run> #<Thread:0x29470c0 run> #<Thread:0x29470c0 run> #<Thread:0x2946f40 run> #<Thread:0x2946f40 run> #<Thread:0x2946f40 run> #<Thread:0x2946f40 run> #<Thread:0x2946f40 run> #<Thread:0x2946f40 run> #<Thread:0x2946f40 run> #<Thread:0x2946f40 run> #<Thread:0x2946f40 run> #<Thread:0x2946f40 run>