Java中抛出InterruptedException后的中断状态

Java中抛出InterruptedException后的中断状态,java,multithreading,Java,Multithreading,我想知道在抛出InterruptedException之后会发生什么 线程中断状态是否设置为true?这取决于引发InterruptedException的内容。但JDK方法遵循的良好实践是在抛出异常时清除中断状态 例如,见: 如果任何线程在当前线程等待通知之前或期间中断了当前线程。引发此异常时,当前线程的中断状态将被清除 这取决于抛出InterruptedException的内容。但JDK方法遵循的良好实践是在抛出异常时清除中断状态 例如,见: 如果任何线程在当前线程等待通知之前或期间中断了当

我想知道在抛出InterruptedException之后会发生什么


线程中断状态是否设置为true?

这取决于引发InterruptedException的内容。但JDK方法遵循的良好实践是在抛出异常时清除中断状态

例如,见:

如果任何线程在当前线程等待通知之前或期间中断了当前线程。引发此异常时,当前线程的中断状态将被清除


这取决于抛出InterruptedException的内容。但JDK方法遵循的良好实践是在抛出异常时清除中断状态

例如,见:

如果任何线程在当前线程等待通知之前或期间中断了当前线程。引发此异常时,当前线程的中断状态将被清除


这取决于抛出InterruptedException的内容。但JDK方法遵循的良好实践是在抛出异常时清除中断状态

例如,见:

如果任何线程在当前线程等待通知之前或期间中断了当前线程。引发此异常时,当前线程的中断状态将被清除


这取决于抛出InterruptedException的内容。但JDK方法遵循的良好实践是在抛出异常时清除中断状态

例如,见:

如果任何线程在当前线程等待通知之前或期间中断了当前线程。引发此异常时,当前线程的中断状态将被清除


可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的所有JDK方法,这些方法抛出我所知道的
InterruptedException
,其行为与
Object.wait()相同。i、 e.引发异常时,中断位被清除。这就是为什么我们需要在catch中重新中断线程。@格雷:我想指出的是,您可以自己抛出异常,但它不会自动清除中断状态。JDK方法总是在抛出异常之前清除它。我只是想说得更具体一些。据我所知,所有抛出
InterruptedException
的JDK方法的行为都与
Object.wait()相同。i、 e.引发异常时,中断位被清除。这就是为什么我们需要在catch中重新中断线程。@格雷:我想指出的是,您可以自己抛出异常,但它不会自动清除中断状态。JDK方法总是在抛出异常之前清除它。我只是想说得更具体一些。据我所知,所有抛出
InterruptedException
的JDK方法的行为都与
Object.wait()相同。i、 e.引发异常时,中断位被清除。这就是为什么我们需要在catch中重新中断线程。@格雷:我想指出的是,您可以自己抛出异常,但它不会自动清除中断状态。JDK方法总是在抛出异常之前清除它。我只是想说得更具体一些。据我所知,所有抛出
InterruptedException
的JDK方法的行为都与
Object.wait()相同。i、 e.引发异常时,中断位被清除。这就是为什么我们需要在catch中重新中断线程。@格雷:我想指出的是,您可以自己抛出异常,但它不会自动清除中断状态。JDK方法总是在抛出异常之前清除它。我只是想说得更具体一些。
try{...}
catch(InterruptedException e)
{  }