執行緒的生命週期分為五種狀態:新建狀態、就緒狀態、執行狀態、阻塞狀態、死亡狀態
剛new出來的執行緒物件。新建狀態呼叫start()方法就進入就緒狀態。
就緒狀態的執行緒又叫做可執行狀態,表示當前執行緒具有搶奪cpu時間片的權利(cpu時間片就是執行權)。當乙個執行緒搶奪到cpu時間片之後就開始執行run()方法。run()方法的執行標誌著執行緒進入執行狀態。
run()方法的執行標誌著執行緒進入執行狀態,當之前占有的cpu時間片用完之後,會重新回到就緒狀態,繼續搶奪cpu時間片,當再次搶到cpu時間片之後,會重新進入run()方法接著上一次的**繼續往下執行。
當乙個執行緒遇到阻塞時間,例如接收使用者鍵盤輸入的資訊,或者sleep()、join()方法等,此時執行緒會進入阻塞狀態,阻塞狀態的執行緒會放棄之前占有的cpu時間片和相關資源。
run()方法的結束標誌著執行緒的死亡。
有哪些和執行緒排程有關呢?下一章講述與執行緒排程有關的方法。
執行緒生命週期
今天看到一段這樣的 handle hthread createthread null,0,add,a,0,null hmutext createmutex null,false,l huchiti closehandle hthread 簡單的說,關閉了執行緒控制代碼 關閉了執行緒,其兩者的生命週期...
執行緒生命週期
本章目標 了解執行緒的生命週期 了解執行緒的停止操作 執行緒的生命週期 注意大部分的執行緒生命週期的方法基本上都已經學過了,那麼在這裡有以下三個新方法 suspend 方法 暫時掛起執行緒 resume 方法 恢復掛起的執行緒 stop 方法 停止執行緒 但是對於執行緒中suspend resume...
執行緒生命週期
1 新建new 關鍵字建立執行緒之後,該執行緒處於新建狀態 jvm為執行緒分配記憶體,初始化成員變數值 2 就緒 執行緒呼叫start 方法,執行緒處於就緒狀態 jvm為執行緒建立方法棧和程式計數器,等待執行緒排程器排程 3 執行 就緒態的執行緒獲得cpu資源,開始執行run 方法,執行緒處於執行狀...