執行緒和程序生命週期

2021-08-31 09:55:42 字數 356 閱讀 2882

執行緒和程序生命週期(幾種狀態)

執行緒的狀態以及狀態之間的相互轉換:  

1、新建狀態(new):新建立了乙個執行緒物件。   

2、就緒狀態(runnable):執行緒物件建立後,其他執行緒呼叫了該物件的start()方法。該狀態的執行緒位於可執行執行緒池中,變得可執行,等待獲取cpu的使用權。   

3、執行狀態(running):就緒狀態的執行緒獲取了cpu,執行程式**。   

4、阻塞狀態(blocked):阻塞狀態是執行緒因為某種原因放棄cpu使用權,暫時停止執行。直到執行緒進入就緒狀態,才有機會轉到執行狀態。

5、死亡狀態(dead):執行緒執行完了或者因異常退出了run()方法,該執行緒結束生命週期。等待被銷毀。

程序生命週期

對於乙個程序,基本概念我覺得就是乙個資源分配單位。對於每乙個程序都有對應的pcb 程序控制塊 在linux下的pcb是task struct。對於task struct,一開始我看原始碼的時候也是非常痛苦,看了這忘了那,一直都模模糊糊。所以總結之後,覺得得需要根據乙個程序,需要有什麼東西,大概就能有...

執行緒生命週期

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

執行緒生命週期

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