主线程进入睡眠状态会引发InterruptedException

问题描述

您看到的是编译错误,原因是您没有正确处理检查的异常(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()

这不是让线程休眠的方法吗?我需要做的是让主线程等待/睡眠/延迟,直到它再次需要工作为止。

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”