AWT-EventQueue线程和AWT-Shutdown线程没有关闭

时间:2011-06-20 20:52:27

标签: multithreading swing awt awt-eventqueue

AWT-EventQueue线程和AWT-Shutdown线程未在我们的应用程序中关闭。是否有调试技术来找出它们为什么不是?有什么特别的东西要找吗?

1 个答案:

答案 0 :(得分:5)

如果您的意思是在关闭所有窗口后JVM没有正确退出,请查看以下几点:

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

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

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