定时器和TimerTask之间的差异



嗨,我正在进行GUI的Java项目,在特定时间通过后,我需要更改某些内容,我想知道计时器和Timertask类之间的差异,如果它们都是线程您是否也想知道java.util.timer和java.swing.timer在这样的目的上有所不同吗?感谢您回答

您可以在API文档找到所有答案。IE。javax.swing.Timer文档说:

在第1.3节中,将另一个计时器类添加到Java平台: java.util.timer。它和javax.swing.timer提供相同的基本 功能,但是java.util.timer更一般,有更多 特征。javax.swing.timer具有两个功能,可以使其成为 与Guis一起使用几乎没有。首先,它的活动处理隐喻是 GUI程序员熟悉,可以与 事件划分线程更简单。其次,其自动线程 分享意味着您不必采取特殊步骤避免 产卵太多线程。相反,您的计时器使用相同的线程 用于使光标闪烁,刀具提示出现等等。

简短的答案是java.util.Timer更一般。

另外,如果您检查API页面,这些类都没有扩展Thread。其中一些在内部。

如果您确实需要实现某种时间安排,我建议使用中央ScheduledThreadPoolExecutor。该计划的执行人比任何计时器都更灵活,它还可以为您提供更多的控制。

最新更新