基本线程语义
可以使用 Thread.new
创建与主线程执行分离的新线程。
thr = Thread.new {
sleep 1 # 1 second sleep of sub thread
puts "Whats the big deal"
}
这将自动开始执行新线程。
要冻结主线程的执行,直到新线程停止,请使用 join
:
thr.join #=> ... "Whats the big deal"
请注意,在调用 join 时,Thread 可能已经完成,在这种情况下,执行将继续正常进行。如果子线程从未加入,并且主线程完成,则子线程将不执行任何剩余的代码。