thread.sleep何时生成InterruptedException?我正在使用此但未发生异常。请帮助使用线程。关于将信息传递给线程并从线程返回信息。 public class myThread扩展Thread {
@Override
public void run(){
try{
while(true) {
Thread.sleep(200);
System.out.println("Thread is running");
}
}
catch(InterruptedException ex){
System.out.println("Exception Occur");
}
}
200ms后不会发生异常。为什么??
答案 0 :(得分:4)
据我所知,当您尝试终止/中断正在休眠的线程时会生成InterruptedException。
答案 1 :(得分:4)
InterruptedException
是为了响应Thread.interrupt
在管理您调用Thread
的线程的sleep
实例上调用而引发的。您可以通过自己调用该方法轻松测试它,即使在您调用sleep
的同一个线程中也是如此。只需在调用Thread.currentThread().interrupt()
之前,看看会发生什么。