基本线程语义

可以使用 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 可能已经完成,在这种情况下,执行将继续正常进行。如果子线程从未加入,并且主线程完成,则子线程将不执行任何剩余的代码。