Java執行緒的生命週期(life cycle)可分為New,Runnable,Running,Blocked/Waiting,Terminated/Dead狀態。
New
新執行緒狀態,當使用new
建立執行緒物件並在呼叫start()
之前的狀態。
Runnable
可執行狀態。當執行緒呼叫start()
後成為可執行狀態,但執行緒仍未被作業系統執行。
Running
執行狀態。執行緒處於正在執行的狀態。
Waiting
等待狀態。當執行緒呼叫物件的wait()釋放物件的監控並進入等待區的狀態。待其他執行緒呼叫物件的notify()後進入blocked狀態。
Blocked
阻塞狀態。當執行緒執行同步區塊或方法,但尚未取得同步區塊中該物件的監控時的狀態。取得物件的監控後便回復到Runnable狀態。
Terminated/Dead
終結狀態。執行緒執行結束以後便會進入此狀態。
沒有留言:
張貼留言