Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 中断异常发生原因_Java_Interrupted Exception - Fatal编程技术网

Java 中断异常发生原因

Java 中断异常发生原因,java,interrupted-exception,Java,Interrupted Exception,在检查对象类下的notifyAll()方法的javadoc时,通过以下几行: 如果当前线程在等待之前或等待期间被任何线程中断,则 抛出InterruptedException。在如上所述恢复此对象的锁定状态之前,不会引发此异常 重点是: 当前线程在等待时被中断 这意味着什么?线程在等待时可以被中断吗? 若有,原因为何?它的用途是什么?如果另一个线程调用,则线程在等待时可能会中断: waitingThread.interrupt(); 当然,如果您自己做,也可以使用框架来管理线程(通常是执行器服

在检查对象类下的
notifyAll()
方法的javadoc时,通过以下几行:

如果当前线程在等待之前或等待期间被任何线程中断,则 抛出InterruptedException。在如上所述恢复此对象的锁定状态之前,不会引发此异常

重点是:

当前线程在等待时被中断

这意味着什么?线程在等待时可以被中断吗?
若有,原因为何?它的用途是什么?

如果另一个线程调用,则线程在等待时可能会中断:

waitingThread.interrupt();
当然,如果您自己做,也可以使用框架来管理线程(通常是执行器服务),并调用一些中断底层线程的方法(例如
shutdownNow
或调用
future.cancel(true);
关于
submit
方法返回的future)


中断机制是Java如何让一个线程告诉另一个线程停止它正在做的事情,因此非常有用。

如果另一个线程调用,则线程可以在等待时中断:

waitingThread.interrupt();
当然,如果您自己做,也可以使用框架来管理线程(通常是执行器服务),并调用一些中断底层线程的方法(例如
shutdownNow
或调用
future.cancel(true);
关于
submit
方法返回的future)


中断机制是Java如何让一个线程告诉另一个线程停止它正在做的事情,因此非常有用。

Java中“线程被中断”的意思是线程的中断标志已经设置,仅此而已。然而,使线程等待的大多数JDK方法会立即发现这一点并退出等待状态,抛出InterruptedException。你所读到的方法就是这样

Java中“线程被中断”的意思是线程的中断标志已经设置,仅此而已。然而,使线程等待的大多数JDK方法会立即发现这一点并退出等待状态,抛出InterruptedException。你所读到的方法就是这样

它意味着它中断了它的等待状态。它意味着它中断了它的等待状态。它实际上只是
cancel(true)
:-)事实上:中断机制声明“停止它正在做的事情”,事实上:中断机制声明“停止它正在做的事情”,所以它在等待时实际上在做什么。我认为它正在等待资源,所以它是获得资源还是处于运行/可运行状态?实际上它只是
cancel(true)
:-)事实上:中断机制声明“停止它正在做的事情”,事实上:中断机制声明“停止它正在做的事情”,所以它在等待时实际上在做什么。我认为它正在等待资源,所以它是获取资源还是处于运行/可运行状态?