Java的執行緒是透過java.lang.Thread類來實現的。VM啟動時會有一個由主方法所定義的執行緒。可以透過建立Thread的例項來建立新的執行緒。每個執行緒都是透過某個特定Thread物件所對應的方法run()來完成其操作的,方法run()稱為執行緒體。透過呼叫Thread類的start()方法來啟動一個執行緒。在Java當中,執行緒通常都有五種狀態,建立、就緒、執行、阻塞和死亡。第一是建立狀態。在生成執行緒物件,並沒有呼叫該物件的start方法,這是執行緒處於建立狀態。第二是就緒狀態。當呼叫了執行緒物件的start方法之後,該執行緒就進入了就緒狀態,但是此時執行緒排程程式還沒有把該執行緒設定為當前執行緒,此時處於就緒狀態。線上程執行之後,從等待或者睡眠中回來之後,也會處於就緒狀態。第三是執行狀態。執行緒排程程式將處於就緒狀態的執行緒設定為當前執行緒,此時執行緒就進入了執行狀態,開始執行run函式當中的程式碼。第四是阻塞狀態。執行緒正在執行的時候,被暫停,通常是為了等待某個時間的發生(比如說某項資源就緒)之後再繼續執行。sleep,suspend,wait等方法都可以導致執行緒阻塞。第五是死亡狀態。如果一個執行緒的run方法執行結束或者呼叫stop方法後,該執行緒就會死亡。對於已經死亡的執行緒,無法再使用start方法令其進入就緒。
Java的執行緒是透過java.lang.Thread類來實現的。VM啟動時會有一個由主方法所定義的執行緒。可以透過建立Thread的例項來建立新的執行緒。每個執行緒都是透過某個特定Thread物件所對應的方法run()來完成其操作的,方法run()稱為執行緒體。透過呼叫Thread類的start()方法來啟動一個執行緒。在Java當中,執行緒通常都有五種狀態,建立、就緒、執行、阻塞和死亡。第一是建立狀態。在生成執行緒物件,並沒有呼叫該物件的start方法,這是執行緒處於建立狀態。第二是就緒狀態。當呼叫了執行緒物件的start方法之後,該執行緒就進入了就緒狀態,但是此時執行緒排程程式還沒有把該執行緒設定為當前執行緒,此時處於就緒狀態。線上程執行之後,從等待或者睡眠中回來之後,也會處於就緒狀態。第三是執行狀態。執行緒排程程式將處於就緒狀態的執行緒設定為當前執行緒,此時執行緒就進入了執行狀態,開始執行run函式當中的程式碼。第四是阻塞狀態。執行緒正在執行的時候,被暫停,通常是為了等待某個時間的發生(比如說某項資源就緒)之後再繼續執行。sleep,suspend,wait等方法都可以導致執行緒阻塞。第五是死亡狀態。如果一個執行緒的run方法執行結束或者呼叫stop方法後,該執行緒就會死亡。對於已經死亡的執行緒,無法再使用start方法令其進入就緒。