執行緒的喚醒interrupt 方法

2021-10-08 11:36:26 字數 618 閱讀 2549

執行緒的喚醒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 三種方法之...