執行緒的生命週期

2021-07-25 16:57:43 字數 624 閱讀 1056

執行緒的生命週期主要分為:新建、可執行、執行、阻塞、終止這幾個狀態。下面展現其狀態轉化框架圖。

sleep(): 使比其優先順序低的執行緒執行(不占用cpu) 

yield(): 只讓給同優先順序的縣城執行,將自己置於可執行執行緒池。(物件鎖保持)

join(): 形式 t.join()。 等待執行緒t結束,執行緒進入可執行狀態。

interrupt(): 清除執行緒的中斷或阻塞狀態。

sleep()和wait()的異同

同: 均釋放cpu。

異: sleep()是thread類的static方法,保持物件鎖,時間結束後進入可執行狀態,需要捕獲異常,任何地方均可使用。

wait()是object類的方法,放棄物件鎖,只有通過notify()/notifyall()才能喚醒,不必捕獲異常,只能用於同步控制塊中。

執行緒互動過程中不提倡使用stop(),suspend(),resume()。

執行緒生命週期

今天看到一段這樣的 handle hthread createthread null,0,add,a,0,null hmutext createmutex null,false,l huchiti closehandle hthread 簡單的說,關閉了執行緒控制代碼 關閉了執行緒,其兩者的生命週期...

執行緒生命週期

本章目標 了解執行緒的生命週期 了解執行緒的停止操作 執行緒的生命週期 注意大部分的執行緒生命週期的方法基本上都已經學過了,那麼在這裡有以下三個新方法 suspend 方法 暫時掛起執行緒 resume 方法 恢復掛起的執行緒 stop 方法 停止執行緒 但是對於執行緒中suspend resume...

執行緒生命週期

執行緒的生命週期分為五種狀態 新建狀態 就緒狀態 執行狀態 阻塞狀態 死亡狀態 剛new出來的執行緒物件。新建狀態呼叫start 方法就進入就緒狀態。就緒狀態的執行緒又叫做可執行狀態,表示當前執行緒具有搶奪cpu時間片的權利 cpu時間片就是執行權 當乙個執行緒搶奪到cpu時間片之後就開始執行run...