1、Java中線程的5種狀態java
在Java中,線程一般都有5種狀態:建立、就緒、運行、阻塞和死亡。
一、建立狀態(生):線程對象已建立,但沒有調用線程對象的start方法。
二、就緒狀態(可運行狀態):當調用了線程對象的start方法以後,該線程就進入了就緒狀態,可是此時線程調度程序尚未把該線程設置爲當前線程,即當前線程有資格運行,可是尚未運行。在線程運行以後,從阻塞/等待/睡眠中回來以後,也會處於就緒狀態。
三、運行狀態:線程調度程序將處於就緒狀態的線程設置爲當前線程,此時線程就進入了運行狀態,開始運行run函數當中的代碼。
四、阻塞狀態(阻塞/等待/睡眠):線程正在運行的時候被暫停,一般是爲了等待某個事件的發生(好比說某項資源就緒)以後再繼續運行。suspend(不推薦使用),wait,sleep等方法都會致使線程阻塞。
五、死亡狀態:若是一個線程的run方法執行結束或者調用stop方法後,該線程就會死亡。對於已經死亡的線程,沒法再使用start方法令其進入就緒,若是在一個死去的線程上調用start方法,會拋出java.lang.IllegalThreadStateException異常。函數