ruby中也是利用Thread对象表示线程的。
threads = []
10.times do
thread = Thread.new do
10.times {|i| print i;$stdout.flush;sleep rand(5)}
end
threads << thread
end
threads.each{|thread| thread.join}
这里的join与数组中的join不同,这里的join表示让主程序等待,直到线程执行完毕再继续。join(n)指定等待N秒,超过会把线程干掉。
另外Thread类有对应的方法控制整个线程组,Thread.list.each{|thread|.......}
其他的线程方法:run,stop