java--執行緒狀態【轉】

滄海一滴發表於2013-11-01

1、新建狀態

Thread t1 = new Thread();

建立之後,就已經有了相應的記憶體和其他資源,但是還是處於不可執行狀態。

2、就緒狀態

當一個執行緒使用.start()啟動之後就處於就緒狀態,就會在佇列中排隊等待被排程。此時已經具備執行狀態。

3、執行狀態

當一個就緒狀態的執行緒被排程而且分配了CPU資源,就進入了執行狀態。此時就會自動呼叫run()。

4、阻塞狀態

當一個物件呼叫了wait() suspend() sleep()方法,執行緒就會進入阻塞狀態。阻塞時,是不進行排隊的,直到導致產生阻塞的因素被消除之後,才會進行在佇列中排隊(就緒狀態)。

5、死亡狀態

當一個執行緒物件呼叫.stop()方法或者run()方法結束的時候,執行緒就進入了死亡狀態,不在具有執行能力。

相關文章