1. 程式人生 > >執行緒狀態及其轉換

執行緒狀態及其轉換

執行緒的基本狀態

1. 新建狀態(New)         : 執行緒物件被建立後,就進入了新建狀態。例如,Thread thread = new Thread()。
2. 就緒狀態(Runnable):執行緒物件被建立後,其它執行緒呼叫了該物件的start()方法,從而來啟動該執行緒。
3. 執行狀態(Running) : 執行緒獲取CPU許可權進行執行。
4. 阻塞狀態(Blocked)  : 阻塞狀態是執行緒因為某種原因放棄CPU使用權,暫時停止執行。直到執行緒進入就緒狀態,才有機會轉到執行狀態。阻塞的情況分三種:
    (01) 等待狀態 : 通過呼叫執行緒的wait()方法,讓執行緒等待某工作的完成。
    (02) 阻塞 :執行緒在獲取synchronized同步鎖失敗(因為鎖被其它執行緒所佔用),它會進入同步阻塞狀態,或者等待事件完成,或者呼叫了join()方法。
    (03) 睡眠阻塞:呼叫sleep()方法
5. 死亡狀態(Dead)

    : 執行緒執行完了或者因異常退出了run()方法,該執行緒結束生命週期。