Java線程有6種狀態,分別是:
新建狀態(New):創建一個線程對象,但尚未調用start()方法啟動線程。
就緒狀態(Runnable):線程已經通過start()方法啟動,但尚未執行run()方法。處于就緒狀態的線程等待系統分配執行時間。
運行狀態(Running):線程正在執行run()方法的代碼。
阻塞狀態(Blocked):線程因為某些原因被阻塞,暫時無法執行。常見的阻塞原因包括等待I/O操作、等待獲取同步鎖等。
等待狀態(Waiting):線程因為調用了Object.wait()、Thread.join()或LockSupport.park()等方法而進入等待狀態,等待其他線程的通知。
終止狀態(Terminated):線程執行完run()方法,或者因為異常而提前退出,進入終止狀態。