基本執行緒語義
可以使用 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 可能已經完成,在這種情況下,執行將繼續正常進行。如果子執行緒從未加入,並且主執行緒完成,則子執行緒將不執行任何剩餘的程式碼。