簡單談談Java 中的執行緒的幾種狀態
阿新 • • 發佈:2020-02-12
Java 中的執行緒有以下狀態:
新建狀態(New):新建立的執行緒,還未執行。
就緒狀態(Runnable):執行了 start() 方法,等待執行,
執行狀態(Running):就緒狀態的執行緒開始執行程式程式碼。
阻塞狀態(Blocked)
- 同步堵塞:在執行過程中,需要拿到鎖才能執行,而鎖被其他資源佔用,需要等待。
- 等待堵塞:執行了 wait() 方法,進入了等待。
- 其他堵塞:執行了 join()、sleep() 方法,進入了等待。
終止狀態(Terminated):執行完 run() 方法後結束,或者因遇到異常導致終止。
- New:新建立的執行緒,尚未執行;
- Runnable:執行中的執行緒,正在執行run()方法的Java程式碼;
- Blocked:執行中的執行緒,因為某些操作被阻塞而掛起;
- Waiting:執行中的執行緒,因為某些操作在等待中;
- Timed Waiting:執行中的執行緒,因為執行sleep()方法正在計時等待;
- Terminated:執行緒已終止,因為run()方法執行完畢。