執行緒停止共三種方法。
class
threadshutdown
implements
runnable
@override
public
void
run(
) system.out.
println
("執行緒停止");
}}public
class
threadstop
}
一秒後執行緒關閉,並輸出「執行緒停止」。
class
threadshutdown
implements
runnable
@override
public
void
run(
) system.out.
println
("執行緒停止");
}}public
class
threadstop
}}
一秒後關閉,但是並沒有輸出「執行緒停止」。
stop();強行關閉執行緒
本方法現在不推薦使用,因為會產生不完整資料
while(flag)
a.若若執行緒中沒有使用類似sleep/wait/join(執行緒阻塞)呼叫interrupt方法並不會真正中斷執行緒,
只是將執行緒的狀態置為interrupt,我們可以根據狀態來確定進一步如何處理執行緒。
thread類提供的 public boolean isinterrupted()可以檢測當前執行緒是否為中斷狀態。
class
threadshutdown
implements
runnable
@override
public
void
run()*/
//執行緒停止
system.out.
println
("當前執行緒狀態為"
+bool)
; system.out.
println
(thread.
currentthread()
.getname()
+","
+i++);
} system.out.
println
("執行緒停止");
b.若執行緒中呼叫了阻塞執行緒的方法如:sleep(),wait(),join(),
此時呼叫執行緒的interrupt方法時會丟擲異常interruptedexception
同時將執行緒狀態還原(istnterrupted=false)
class
threadshutdown
implements
runnable
@override
public
void
run(
) system.out.
println
("當前執行緒狀態為"
+bool)
; system.out.
println
(thread.
currentthread()
.getname()
+","
+i++);
}catch
(interruptedexception e)
} system.out.
println
("執行緒停止");
}}public
class
threadstop
}
interrupt響應阻塞在catch塊執行緒停止
第一種方式:設定標記位:無法處理執行緒阻塞時停止的問題
執行緒之停止執行緒
停止執行緒有三種方法 1.建議正常停止 利用次數,不建議死迴圈 2.建議使用標誌位 設定乙個標誌位 3.不要使用stop或者destoy等過時或者jdk不建議使用的方法舉例說明 想讓乙個正在執行的程式停下來,執行其他程式,執行完以後再進行自己的程式 怎麼來解決呢?可以自己設定乙個標識位.在自己的程式...
執行緒的停止
執行緒停止 執行緒的停止 1.停止乙個執行緒 我們一般都會通過乙個變數去控制的。2.如果需要停止乙個處於等待狀態下的執行緒,那麼我們需要通過變數配合notify方法或者interrupt 來使用。public class threaddemo5 extends thread public synch...
Java停止執行緒
1 run方法正常結束 public class stopthreaddemo class printthread extends thread 2 可以在run方法中設定標記讓執行緒正常結束 public class stopthreaddemo class printthread extends...