執行緒的喚醒interrupt()方法:
如果乙個執行緒睡眠太久了,有沒有辦法喚醒它嗎?
有的,使用"物件.interrupt()"方法。
這個方法的意思是:中斷打擾,一盆冷水過去,執行緒立馬醒了,夠形象。
喚醒的機制是靠異常機制,當使用這個方法之後,對應的執行緒的sleep進入catch異常捕捉,表明睡眠異常,有人中斷了這個執行緒的睡眠。
測試**:
public
class
test07
catch
(interruptedexception e)
// 叫醒thread1執行緒,終止它的睡眠
thread1.
interrupt()
;}}class
myrun07
implements
runnable
catch
(interruptedexception e)
system.out.
println
(thread.
currentthread()
.getname()
+"--over");
}}
執行緒的stop方法和interrupt方法
建立測試需要的類 public class mythread extends thread catch interruptedexception e y 列印x和y的值 public void printxandy 用stop方法來中止執行緒 測試用main方法如下 public class tes...
JAVA執行緒的interrupt
interrupt 只是改變中斷狀態而已.interrupt 不會中斷乙個正在執行的執行緒。這一方法實際上完成的是,給受阻塞的執行緒丟擲乙個中斷訊號,這樣受阻執行緒就得以退出阻塞的狀態 更確切 的說,如果執行緒被 object.wait,thread.join 和thread.sleep 三種方法之...
JAVA執行緒的interrupt
interrupt 只是改變中斷狀態而已.interrupt 不會中斷乙個正在執行的執行緒。這一方法實際上完成的是,給受阻塞的執行緒丟擲乙個中斷訊號,這樣受阻執行緒就得以退出阻塞的狀態 更確切 的說,如果執行緒被 object.wait,thread.join 和thread.sleep 三種方法之...