01 執行緒的狀態

2021-10-16 13:15:21 字數 583 閱讀 6158

執行緒的建立

thread thread = new thread();
通過new的到執行緒的例項,呼叫start方法進入『可執行狀態』

執行緒的待執行

thread.start();
現在是在jvm中建立了乙個執行緒,沒有得到cpu的排程不會執行,只是乙個中間狀態(執行緒和程序一樣沒有的到cpu的排程不會執行)

可進入的狀態只有執行狀態、意外終止兩種

執行緒的執行

得到cpu的選中開始執行邏輯**

可進入的狀態:

進入終止狀態:stop方法(已不推薦使用)

進入阻塞狀態:sleep方法、網路資料讀寫、獲取資源

進入待執行狀態:cpu排程器輪詢、主動呼叫yield方法

執行緒的阻塞

可進入狀態:

進入終止狀態:stop方法(已不推薦使用)

進入執行狀態:完成指定時間休眠、被其它執行緒喚醒notify/notifyall、獲取到資源、阻塞被打斷interrupt

執行緒終止

正常結束,結束生命週期

意外終止

jvm crash 導致所有執行緒都結束

執行緒的狀態

執行緒的狀態 概念 乙個時刻,cpu只能運算乙個執行緒的任務。對於執行緒來說,有cpu的執行資格或者cpu的執行權。cpu的執行資格 可以被cpu處理,但還沒有輪到自己,在處理佇列中排隊。cpu的執行權 正在獲取cpu的資格 執行緒有五種狀態 1 被建立。在這個時候,執行緒剛剛被建立出來,開闢了記憶...

執行緒的狀態

有時候需要一些工具幫助我們觀察執行緒和程序的狀態 spy 開啟預設是視窗 旁邊是 程序和執行緒 選擇乙個程序 右鍵屬性 常規 不重要 記憶體 虛擬位元組的記憶體 專用位元組 可用位元組 頁檔案 空格鍵 記憶體資訊 選擇乙個執行緒 右鍵屬性 執行緒id 程序id 起始位址 執行緒狀態 上下文開關 執行...

執行緒的狀態

學習自 新建new thread 就緒thread.start 執行using cpu,就算時間片在切換,他在不使用當前時間片的時候,依然被定義成執行狀態 阻塞比如釋放資源,比如object.wait。需要重新轉化為就緒狀態才有機會轉化成執行狀態 死亡阻塞的幾種情況 1.this.wait,該執行緒...