Java JMM:同步顺序和中断异常
Java语言规范包含Java内存模型规范。在中,以下是关于中断线程的说明: 如果线程T1中断线程T2,则中断时间为T1 与任何其他线程(包括T2)所在的任何点同步 确定T2已被具有 InterruptedException抛出或通过调用Thread.interrupted或 线程中断 确定T2被中断是否包括抛出InterruptedIOException 第一句的语言表明它确实如此。但是,括号内的文本表明,它详尽地列出了如何确定线程已被中断,而InterruptedIOException不在该列表中Java JMM:同步顺序和中断异常,java,multithreading,java-memory-model,Java,Multithreading,Java Memory Model,Java语言规范包含Java内存模型规范。在中,以下是关于中断线程的说明: 如果线程T1中断线程T2,则中断时间为T1 与任何其他线程(包括T2)所在的任何点同步 确定T2已被具有 InterruptedException抛出或通过调用Thread.interrupted或 线程中断 确定T2被中断是否包括抛出InterruptedIOException 第一句的语言表明它确实如此。但是,括号内的文本表明,它详尽地列出了如何确定线程已被中断,而InterruptedIOException不在该列
如果答案可以通过引用官方澄清或引用JMM的一位作者的话来支持,那就太好了。InterruptedIOException,AFAIK,是一种更高级别的IO异常,当线程被中断时,即当抛出它自己的IO方法由于中断而被检测到时,它本身就会抛出,isInterrupted或interrupted线程已中断的例外情况。