我有java.util.Timer
以固定间隔运行。我添加了Runtime#addShutdownHook
,当VM正常结束或异常结束时它会关闭。但是,当main
终止时,它会使VM保持活动状态,除非我坚持在System.exit
中执行main
。 我有什么方法可以检查我是否是最后一次Thread
站立,或者其他一些方法来避免改变在完成时正常退出的main
<子>
注意:我知道很多人都认为java.util.Timer
已被弃用(不是),但除非你的选择帮助我解决这个问题......
子>
答案 0 :(得分:8)
使用构造函数重载之一创建计时器,允许您指定是否使用守护程序线程:传递true
作为参数,以便它将在守护程序线程上运行,这不会阻止VM关闭。