1. 程式人生 > >【多執行緒】——join、yield、wait、sleep的區別

【多執行緒】——join、yield、wait、sleep的區別

join

   通常由使用執行緒的程式呼叫,將大問題劃分為許多小問題,每個小問題分配一個執行緒,當所有小問題都得到處理後,再呼叫主執行緒進一步操作。

join();
Join(long millis)

Sleep

   讓程式睡眠,進入阻塞狀態

Sleep();
Sleep(long millis)

yield

   讓程式進入就緒狀態,讓當前執行緒暫停下。

Condition控制執行緒通訊

wait

   讓當前執行緒等待,直到呼叫notify(),喚醒執行緒,繼續執行

Synchronize

   隱式,自動釋放鎖

   wait();notify();notifyAll

()

Lock

   顯示,必須手動釋放鎖

   await();signal();signalAll()