首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javax.swing.Timer vs java.util.Timer

javax.swing.Timer vs java.util.Timer
EN

Stack Overflow用户
提问于 2013-05-09 01:31:26
回答 2查看 6.2K关注 0票数 5

我听说只有在构建Swing GUI时才应该使用所有的javax.swing类。我想使用不带GUIjavax.swing.Timer来创建计时器循环。这是否意味着如果没有图形用户界面,我是否应该使用java.util.Timer

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

有什么方法可以创建一个被动运行或不停止主线程的循环?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-09 01:33:32

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

您应该尝试尽可能少的依赖项。如果java.util.Timer能满足你的需求,你绝对应该选择这个。

票数 1
EN

Stack Overflow用户

发布于 2013-05-09 02:39:32

在没有图形用户界面的情况下使用javax.swing.Timer是一个大错误吗?它会导致一些性能错误或速度减慢吗?

不,这不是一个大错误。但是,如果应用程序中没有正在运行的non-daemon线程,则与javax.swing.Timer关联的ActionEvents将不会触发。如果应用程序中没有正在运行的non-daemon线程,则程序将正常退出,而不会使javax.swing.Timer执行相关的actionPerformed方法。但是图形用户界面会导致JVM挂起,并让Timer执行actionPerformed方法。

如果您没有使用图形用户界面,请确保应用程序中有一些non-daemon线程正在运行。

有什么方法可以创建一个被动运行或不停止主线程的循环?

您可以使用java.util.Timer来实现此目的。但是现在java.util.concurrent已经提供了大量丰富的API来执行并发任务。因此,现在您应该继续使用ScheduledExecutorService应用程序接口来实现此目的。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16446772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档