執行緒狀態彙總

2021-10-02 14:04:30 字數 1075 閱讀 2897

常見狀態彙總

thread類中定義的狀態

thread.cpp中定義的狀態

狀態說明

newinitializing

新建,正在初始化,為其分配資源

newstarting

新建,正在啟動

runnable

native

正在執行jni本地函式

runnable

running/runnable

執行緒可執行或正在執行,需要注意,在發生io讀取或者socket程式設計中的accpte時,執行緒狀態為runable

runnable

suspended

執行緒暫停,通常是由於gc或debug被暫停

blocked

monitor

執行緒阻塞,等待獲取物件鎖。容易出現死鎖

timed_waiting

timed_wait

執行了帶有超時引數的wait、sleep或join函式,

或者等待網路資源,

如果發現有大量的執行緒都在處在 wait on condition,從執行緒 stack看,正等待網路讀寫,這可能是乙個網路瓶頸的徵兆。因為網路阻塞導致執行緒無法執行。

1、一種情況是網路非常忙,幾乎消耗了所有的頻寬,仍然有大量資料等待網路讀寫;

2、另一種情況也可能是網路空閒,但由於路由等問題,導致包無法正常的到達。

waiting

wait

執行了無超時引數的wait函式

waiting

vmwait

正在等待vm資源

terminated

zombie

執行緒死亡,終止執行

unknown

未知狀態

執行緒狀態轉換圖

不同狀態下中斷方法效果

Java執行緒 執行緒狀態

執行緒可以建立6狀態 new 新建立 runnable 可執行 blocked 被阻塞 waiting 等待 timed waiting 計時等待 terminated 被終止 1 新建執行緒 2 可執行執行緒 一旦呼叫start 方法,執行緒就處於runnable狀態,但是卻不必保持執行。執行中的...

執行緒狀態 執行緒池

1.執行緒狀態變遷 2.為什麼notify notifyall wait要在同步方法或塊中執行 2.1在j a中,所有物件都能夠被作為 監視器monitor 指乙個擁有乙個獨佔鎖,乙個入口佇列和乙個等待佇列的實體entity。所有物件的非同步方法都能夠在任意時刻被任意執行緒呼叫,此時不需要考慮加鎖的...

HTTP FTP狀態碼 彙總

1xx 資訊提示 這些狀態 表示臨時的響應。客戶端在收到常規響應之前,應準備接收乙個或多個 1xx 響應。100 繼續。101 切換協議。2xx 成功 這類狀態 表明伺服器成功地接受了客戶端請求。200 確定。客戶端請求已成功。201 已建立。202 已接受。203 非權威性資訊。204 無內容。2...