執行緒的狀態

2021-10-08 19:12:25 字數 2130 閱讀 7720

一:執行緒的狀態

執行緒的狀態,在thread類中的state列舉中

public

enum state

1.1:驗證: new, runnable, terminated狀態

1、業務類

public

class

mythread

extends

thread

@override

public

void

run(

)}

2、測試類

public

class

demo

}

3、控制台

mythread構造方法中main執行緒的狀態為:runnable

mythread構造方法中thread-

0執行緒的狀態為:new

mythread的run

()中thread-

0的狀態 runnable

thread-

0的狀態為: terminated

1.2:驗證timed_waiting狀態

1、業務類

public

class

mythread

extends

thread

catch

(interruptedexception e)

}}

2、測試類

public

class

demo

catch

(interruptedexception e)},

"t1");

t1.start()

; thread.

sleep

(1000);

system.out.

println

(t1.

getname()

+"③執行緒的狀態為: "

+t1.

getstate()

);timeunit.seconds.

sleep(10

);system.out.

println

(t1.

getname()

+"④執行緒的狀態為: "

+t1.

getstate()

);}}

3、控制台

t1①執行緒的狀態為: runnable

t1③執行緒的狀態為: timed_waiting

t1②執行緒的狀態為: runnable

t1④執行緒的狀態為: terminated

1.3:驗證blocked的狀態
blocked狀態出現在某個執行緒在等待鎖的時候

1、業務類

public

class

myservice

catch

(interruptedexception e)

}}

2、測試類

public

class

demo

}

3、控制台

執行緒名為:t1進入了鎖

t2執行緒的狀態為:blocked

執行緒名為:t2進入了鎖

1.4:驗證waiting狀態

1、業務類

public

class

myservice

}catch

(interruptedexception e)

}}

2、測試類

public

class

demo

}

3、控制台

執行緒t1的狀態為: waiting
最後:來自乙個雖然帥,但是菜的cxy

執行緒的狀態

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

執行緒的狀態

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

執行緒的狀態

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