5

我听说javax.swing只有在我实际构建一个Swing GUI. 我想使用javax.swing.TimerwithoutGUI为了创建计时器循环。这是否意味着没有 GUI 我应该使用java.util.Timer

javax.swing.Timer不使用会不会有很大的错误GUI?它会导致一些性能错误或减速吗?

有哪些方法可以创建被动运行或不停止主线程的循环?

提前致谢!

4

2 回答 2

9

在没有 GUI 的情况下使用 javax.swing.Timer 是不是很大的错误?它会导致一些性能错误或减速吗?

不,这不是一个大错误。但是,如果应用程序中没有运行线程,则不会触发ActionEvents与 关联的。如果应用程序中没有线程正在运行,则程序将正常退出而不执行相关方法。但是 GUI 会导致 JVM 挂起并让 JVM执行该方法。如果您不使用 GUI,请确保应用程序中正在运行一些线程。javax.swing.Timernon-daemonnon-daemonjavax.swing.TimeractionPerformedTimeractionPerformed
non-daemon

有哪些方法可以创建被动运行或不停止主线程的循环?

您可以java.util.Timer用于此目的。但是现在java.util.concurrent已经提供了很多丰富的 API 集来执行并发任务。因此,现在您应该ScheduledExecutorService为此使用 API。

于 2013-05-08T18:39:31.613 回答
1

是的,不建议这样做,因为它是您需要的另一个依赖项。

您应该尽量减少依赖项。如果java.util.Timer是满足您需求的东西,您绝对应该选择这个。

于 2013-05-08T17:33:31.840 回答