1. 程式人生 > 程式設計 >簡單談談Java 中的執行緒的幾種狀態

簡單談談Java 中的執行緒的幾種狀態

Java 中的執行緒有以下狀態:

新建狀態(New):新建立的執行緒,還未執行。

就緒狀態(Runnable):執行了 start() 方法,等待執行,

執行狀態(Running):就緒狀態的執行緒開始執行程式程式碼。

阻塞狀態(Blocked)

  • 同步堵塞:在執行過程中,需要拿到鎖才能執行,而鎖被其他資源佔用,需要等待。
  • 等待堵塞:執行了 wait() 方法,進入了等待。
  • 其他堵塞:執行了 join()、sleep() 方法,進入了等待。

終止狀態(Terminated):執行完 run() 方法後結束,或者因遇到異常導致終止。

  • New:新建立的執行緒,尚未執行;
  • Runnable:執行中的執行緒,正在執行run()方法的Java程式碼;
  • Blocked:執行中的執行緒,因為某些操作被阻塞而掛起;
  • Waiting:執行中的執行緒,因為某些操作在等待中;
  • Timed Waiting:執行中的執行緒,因為執行sleep()方法正在計時等待;
  • Terminated:執行緒已終止,因為run()方法執行完畢。