我正在监视VisualVM中的JavaFX程序,并且在Threads视图中,有一系列AWT-EventQueue-0和AWT-Shutdown线程被创建和销毁。这是正常的行为吗?造成这种情况的原因是什么?
答案 0 :(得分:2)
在没有看到所有代码的情况下很难知道确切的原因,但是如果您在没有Swing / AWT GUI的情况下安排Swing计时器,我就会发现这种情况。
如果没有Swing / AWT GUI,每次定时器触发时,EDT和Shutdown线程都会被破坏并重新创建。
如果你有JavaFX GUI,你已经用JavaFX标记了这个问题,你不应该使用Swing Timer
类或其他Swing线程实用程序,例如invokeLater()
,invokeAndWait()
或{{1 }}
查看包{J}事件调度线程的调度和后台任务的包SwingWorker
。