关机时线程自杀?正在停止java.util.Timer实例
我有一个关机时线程自杀?正在停止java.util.Timer实例,java,multithreading,Java,Multithreading,我有一个java.util.Timer以固定的间隔运行。我添加了一个运行时#addShutdownHook,当VM正常或异常结束时,它会关闭。但是,当main终止时,它会使VM保持活动状态,除非我坚持在main中执行System.exit有没有办法检查我是否是最后一个站着的线程,或者用其他方法来避免修改一个在完成时正常退出的主线程? 注意:我知道很多人认为java.util.Timer不受欢迎(事实并非如此),但除非您的替代方案能帮助我解决这个问题。。。 使用构造函数重载之一创建计时器,该重载
java.util.Timer
以固定的间隔运行。我添加了一个运行时#addShutdownHook
,当VM正常或异常结束时,它会关闭。但是,当main
终止时,它会使VM保持活动状态,除非我坚持在main
中执行System.exit
有没有办法检查我是否是最后一个站着的线程
,或者用其他方法来避免修改一个在完成时正常退出的主线程?
注意:我知道很多人认为java.util.Timer
不受欢迎(事实并非如此),但除非您的替代方案能帮助我解决这个问题。。。
使用构造函数重载之一创建计时器,该重载允许您指定是否使用守护进程线程:pass
true
in作为参数,以便它将在守护进程线程上运行,这不会阻止VM关闭