关机时自杀?停止java.util.Timer实例

时间:2010-05-06 13:04:52

标签: java multithreading

我有java.util.Timer以固定间隔运行。我添加了Runtime#addShutdownHook,当VM正常结束或异常结束时它会关闭。但是,当main终止时,它会使VM保持活动状态,除非我坚持在System.exit中执行main我有什么方法可以检查我是否是最后一次Thread站立,或者其他一些方法来避免改变在完成时正常退出的main

<子> 注意:我知道很多人都认为java.util.Timer已被弃用(不是),但除非你的选择帮助我解决这个问题......

1 个答案:

答案 0 :(得分:8)

使用构造函数重载之一创建计时器,允许您指定是否使用守护程序线程:传递true作为参数,以便它将在守护程序线程上运行,这不会阻止VM关闭。