多執行緒核心3 執行緒的正確停止方式

2021-10-13 18:27:31 字數 1378 閱讀 9646

threadone.isinterrupted():thread-0執行緒被請求中斷,返回true

threadone.interrupted()thread.interrupted():由於interrupted()方法為靜態方法,呼叫它的物件為rightwayinterrupted類,因為main執行緒未被請求中斷,所以這兩個方法都是輸出false

threadone.isinterrupted():因為呼叫該方法不會清除interrupted status,因此仍然輸出true

/**

* 描述: 注意thread.interrupted()方法的目標物件是「當前執行緒」,而不管本方法來自於哪個物件

*/public

class

rightwayinterrupted}}

);// 啟動執行緒

threadone.

start()

;//設定中斷標誌

threadone.

interrupt()

;//獲取中斷標誌

system.out.

println

("isinterrupted: "

+ threadone.

isinterrupted()

);//獲取中斷標誌並重置

system.out.

println

("isinterrupted: "

+ threadone.

interrupted()

);//獲取中斷標誌並重直

system.out.

println

("isinterrupted: "

+ thread.

interrupted()

);//獲取中斷標誌

system.out.

println

("isinterrupted: "

+ threadone.

isinterrupted()

);threadone.

join()

; system.out.

println

("main thread is over.");

}}----

----

--輸出結果:

isinterrupted:

true

isinterrupted:

false

isinterrupted:

false

isinterrupted:

true

Java多執行緒3 停止執行緒

關於執行緒的停止,主要有兩種,一種是自然停止,即執行緒體正常執行完畢。還有一種則是外部干涉,我們主要講的是外部干涉。其實也比較簡單 外部干涉 1 執行緒類中定義執行緒體使用的標識,如boolean型 2 執行緒體中使用該標識 3 提供對外的方法改變該標識 4 外部根據條件呼叫該標識 我們還是用例子來...

多執行緒 執行緒的停止

thread類中stop方法停止執行緒存在安全隱患,怎麼讓乙個執行緒停止執行呢?執行緒的執行一般都是迴圈控制體,通過改變run方法 迴圈控制條件,即可讓執行緒停止。class threadstopdemo system.out.println thread.currentthread getname...

多執行緒11 停止執行緒

1 new thread t new thread 執行緒物件一旦建立就進入到新生狀態 2 當呼叫start 方法,執行緒立即進入就緒狀態,但不意味著立即排程執行 3 排程,進入執行狀態,執行緒才真正執行執行緒體的 塊 4 dead,執行緒中斷或者結束,一旦進入死亡狀態,就不能再次啟動 5 阻塞狀態...