繁体   English   中英

关于Java中的计时器和计时器任务

[英]About Timer and Timer Task in Java

假设我有一个当前运行的Timer,并已安排了TimerTask。 如果我调用timer.cancel()是否也会杀死TimerTask中的所有变量,还是必须等待GC? 另外,在调用.cancel()之后,我可以用新任务重新分配它.cancel()

timer.cancel();
timer = new Timer();
messageTimer = new MessageTask();
timer.schedule(messageTimer, 1000, 1000);

还是有一种更合适的方法来替换原始计时器对象中的计时器任务,或者我什至没有想到的事情?

谢谢-T

在Java中, 通过GC回收内存,但是作为开发人员,一旦不再有对它们的引用,您的变量将无用(并准备进行垃圾回收)。

在您的示例中,您通过使用=重新分配计时器来创建一个新计时器。 如果没有更多的引用,旧的引用最终将被垃圾收集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM