我有一个线程,在run()
上我调用sleep()
。如果我中断这个线程会发生什么?
MyThread extends Thread{
public void run(){
try{
sleep(1000000);
} catch(InterruptedException e) {//}
}
}
我想澄清以下几点:
- 如果线程尚未启动,调用
interrupt()
不会执行任何操作,对吧? - 如果线程已启动,并且正在 hibernate ,则在 hibernate 时调用
interrupt()
将抛出InterruptedException
;因此,转到catch()
然后结束线程,对吧?
最佳答案
1) Thread.interrupt API:中断不活动的线程不需要产生任何效果。
2)在您的示例中,被中断的线程将进入 catch block ,然后离开 run 方法并终止
关于java - 如果在 sleep 线程上调用interrupt()会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15225579/