【发布时间】:2013-03-02 21:31:31
【问题描述】:
我在 VisualVM 和线程视图中监视 JavaFX 程序,创建和销毁的 AWT-EventQueue-0 和 AWT-Shutdown 线程不断涌现。这是正常行为吗?这是什么原因?
【问题讨论】:
标签: java multithreading awt javafx
我在 VisualVM 和线程视图中监视 JavaFX 程序,创建和销毁的 AWT-EventQueue-0 和 AWT-Shutdown 线程不断涌现。这是正常行为吗?这是什么原因?
【问题讨论】:
标签: java multithreading awt javafx
如果不查看所有代码,很难知道确切原因,但是我已经看到如果您在没有 Swing/AWT GUI 的情况下安排 Swing 计时器时会发生这种情况。
如果不存在 Swing/AWT GUI,则每次触发计时器时,EDT 和 Shutdown 线程都会被销毁并重新创建。
如果您有 JavaFX GUI,则您已使用 JavaFX 标记此问题,您不应使用 Swing Timer 类或其他 Swing 线程实用程序,例如 invokeLater()、invokeAndWait() 或 SwingWorker。
查看 javafx.concurrent 包的内部,它支持 JavaFX 事件调度线程的调度和后台任务。
【讨论】: