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

Dan*_*ark 4 java multithreading

我有一个java.util.Timer固定的间隔运行.我添加了一个Runtime#addShutdownHook,当VM正常结束或异常结束时它会关闭.然而,保持VM活着时main终止,除非我坚持做一个System.exitmain.我有什么方法可以检查我是否是最后一个Thread站立,或者其他一些方法来避免改变main那些在结束时正常退出的方式?

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

Jon*_*eet 8

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