multithreading - AWT-EventQueue 线程和 AWT-Shutdown 线程未关闭

标签 multithreading swing awt awt-eventqueue

AWT-EventQueue 线程和 AWT-Shutdown 线程没有在我们的应用程序中关闭。有没有一种调试技术可以找出它们不存在的原因?有什么特别的东西要寻找吗?

最佳答案

如果你的意思是关闭所有窗口后JVM没有正常退出,那么看以下几点:

  • 检查所有 window 是否都已妥善处理,而不仅仅是简单地隐藏起来;其中包括由 Swing(或 AWT)创建的不可见窗口作为无主对话框的所有者。为此,您可以检查 Window.getWindows()
  • 确保在处理所有窗口后没有事件的Thread(守护进程除外)
  • 确保您的应用程序不是由 Java Web Start 启动的,因为在这种情况下您必须调用 System.exit(0)(这是 JWS 的一个已知错误)

希望这有助于回答您的问题。

此外,还有this SO question最近关于 Swing 窗口的垃圾收集。

关于multithreading - AWT-EventQueue 线程和 AWT-Shutdown 线程未关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6417358/

相关文章:

multithreading - Spring Boot Web 应用程序中多个 REST 调用超时

即使我将 JPanel 添加到 JFrame,Eclipse 上的 Java 也不会显示 JPanel

Java:线程技术和概念

c++ - std::thread :如何在类主体中将线程声明为普通成员?

multithreading - CRM 2011对每个线程使用组织服务代理对插入进行多线程处理

java - DocumentFilter 的每个方法(及其参数)到底做什么?

java - 调整大小时 JButton 消失

java - java中时间特定的actionListener

java - 谁能解释一下 Applet 和 AWT?

java - JSlider替代品