如何确保定时器保持活动状态?

时间:2011-08-24 17:25:11

标签: java timer

我的代码依赖于Timer保持活跃并管理TimerTask。通常TimersTasks会出现并且总会有至少一个TimerTask来保持Timer的存活,但是所有TimerTasks都会死掉,而Timer会死掉它。

我如何让Timer保持活着?我是否应该安排一个TimerTask计划在很远的日期开火?这就是我倾向于的,但我想听听更有经验的程序员的想法。

*如果我可以终止所有TimerTaks,除了这个'永久'TimerTask之外,这也很好。

很抱歉,如果这些都没有多大意义,或者我认为Timers和TimerTasks都错了。我是Java和所有编程的新手。

1 个答案:

答案 0 :(得分:2)

这听起来倒退了。 Timer是管理任务的东西。 TimerTask是被管理的东西。您创建一个计时器,告诉它计划时间任务,可以是单一的或连续的(例如,您可以将任务设置为在JVM运行时每小时运行一次)。它将一直运行,直到它没有更多的任务。

来自文档:

  

对Timer对象的最后一次实时引用消失后全部消失   未完成的任务已完成执行,计时器的任务执行   线程优雅地终止(并成为垃圾   集合)。