java - 谁打断了我的话题?

标签 java multithreading swing interrupted-exception

我了解 InterruptedException 的作用以及抛出它的原因。然而,在我的应用程序中,当我在一个只有我的应用程序知道的线程上等待 SwingUtilities.invokeAndWait() 时,我得到了它,而且我的应用程序从不调用 Thread.interrupt()在任何线程上,它也永远不会将线程的引用传递给任何人。

所以我的问题是:谁打断了我的线程?

有什么方法可以判断吗? InterruptedException 不包含请求中断的线程的名称是否有原因?

我读到它可能是执行此操作的框架或库,我们使用以下内容,但我想不出他们打断我的线程的原因:

  • hibernate
  • Spring
  • Log4J
  • Mysql 连接器

最佳答案

如果可能,您可以扩展 Thread 并覆盖此线程的 interrupt() 方法以打印堆栈跟踪或抛出不受支持的操作异常。

您还可以使用扩展的 Thread 类来存储对中断线程的引用,并在捕获到中断的异常时读取它。

关于java - 谁打断了我的话题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2476002/

相关文章:

java - Java中的更新语句

Java main 未运行 <已终止>

java - 如何在执行线程(如分页)时获取回调

java - 单击 Jbutton 时,按钮会移动或标签文本会更改。我只想同时执行这两个操作

java - JButton 在 setEnabled(true) 后不会立即获得焦点

java - 失败 - 上下文路径/j2eeapplication 中的应用程序无法启动

java - 如何对 ArrayList<CustomObject> 中的元素进行分组

multithreading - 我可以在 perl 中重用加入的线程吗?

c# - 一起运行两个 parallel.foreach()

java - 为什么启动 GUI 时会出现 NullPointerException?