執行緒的生命週期

2021-09-26 05:05:51 字數 608 閱讀 9686

尤其是當執行緒啟動以後,它不可能一直「霸佔」著 cpu 獨自執行,所以 cpu 需要在多個執行緒之間切換,於是執行緒狀態也會多次在執行、就緒之間轉換。

執行緒狀態轉換圖

注意,啟動執行緒使用 start() 方法,而不是 run() 方法。呼叫 start() 方法來啟動執行緒,系統會把該 run() 方法當成執行緒執行體來處理;但如果直接呼叫執行緒物件的 run() 方法,則 run() 方法立即就會被執行,而且在該方法返回之前其他執行緒無法併發執行。也就是說,如果直接呼叫執行緒物件的 run() 方法,則系統把執行緒物件當成乙個普通物件,而 run() 方法也是乙個普通方法,而不是執行緒執行體。

注意,只能對處於新建狀態的執行緒呼叫 start() 方法。也就是說,如果程式對同乙個執行緒重複呼叫 start() 方法,對處於死亡狀態的執行緒呼叫 start() 方法,將引發 runtimeerror 異常。

注意,當主線程結束時,其他執行緒不受任何影響,並不會隨之結束。一旦子執行緒啟動起來後,它就擁有和主線程相同的地位,不會受主線程的影響。

執行緒生命週期

今天看到一段這樣的 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...