问题描述
您看到的是编译错误,原因是您没有正确处理检查的异常(InterruptedException
在这种情况下)。处理意味着执行以下操作之一:
1)将方法声明为throws InterruptedException
,因此要求调用者处理异常
2)用一个try{..}catch(..){..}
块捉住它。例如:
try {
Thread.sleep(1500);
} catch(InterruptedException e) {
System.out.println("got interrupted!");
}
InterruptedException
用于指示当前线程在执行某些阻塞操作(例如,可中断的IO,等待,睡眠)时已被外部线程中断
解决方法
我有产生新线程的执行主线程。在main()的执行主线程中,我正在调用Thread.sleep()
。何时获得 未处理的异常
类型InterruptedException
?
我不确定为什么会得到这个。我以为这是因为我需要对主线程的引用,所以我继续并通过进行了引用Thread.currentThread()
。
这不是让线程休眠的方法吗?我需要做的是让主线程等待/睡眠/延迟,直到它再次需要工作为止。