Java 在独立线程中,什么情况可能导致中断异常?

Java 在独立线程中,什么情况可能导致中断异常?,java,thread-safety,Java,Thread Safety,在我的应用程序中,我有一段简单的时钟代码: while(!clockRunning){ time++; repaint(); Thread.sleep(1000); } }catch (InterruptedException e){} 我开始好奇什么情况会导致上述异常 : 如果任何线程中断了当前线程。电话中断了 引发此异常时,当前线程的状态将被清除 基本上,当另一个线程调用此线程中断方法时。更重要的是,你要么睡在EDT上,要么从非EDT的线程调用paint。两者都大错

在我的应用程序中,我有一段简单的时钟代码:

while(!clockRunning){
    time++;
    repaint();
    Thread.sleep(1000);
}
}catch (InterruptedException e){}
我开始好奇什么情况会导致上述异常 :

如果任何线程中断了当前线程。电话中断了 引发此异常时,当前线程的状态将被清除

基本上,当另一个线程调用此线程中断方法时

。更重要的是,你要么睡在EDT上,要么从非EDT的线程调用paint。两者都大错特错。