Java線程共有6種狀態,分別是:
1.新建狀態(New):新創建了一個線程對象,但還沒有調用start()方法。
2.運行狀態(Runnable):線程對象調用了start()方法,線程進入了運行狀態。但是并不意味著線程正在運行中,只是說此線程具備了運行的條件,具體的運行時間還要看CPU調度。
3.阻塞狀態(Blocked):線程在運行過程中遇到了IO操作或者鎖對象,導致線程暫時停止執行,進入阻塞狀態。
4.等待狀態(Wait):線程調用了wait()方法,線程進入等待狀態,直到被notify()或notifyAll()喚醒。
5.超時等待狀態(Timed_Wait):線程調用了wait()方法并指定了等待時間,線程進入超時等待狀態,直到時間結束或被notify()或notifyAll()喚醒。
6.終止狀態(Terminated):線程執行完了run()方法,或者因為異常退出了run()方法,線程進入終止狀態。