执行后TimerTask会发生什么?

时间:2009-09-14 11:22:11

标签: java timer scheduled-tasks

在运行方法执行后,扩展TimerTask的类会发生什么? myTask的值是null还是执行后的值?

MyTask myTask = new MyTask();

2 个答案:

答案 0 :(得分:1)

如果你从一个已经结束的方法启动它(并且没有在任何地方引用它,例如在一个仍然存活的对象的成员变量中),它将被垃圾收集器清理。

除非Task保留对大量内存的引用,否则无需将其设置为null。

如果您确实需要取消引用任务,您应该在其run()方法的末尾添加一个调用,以便从您引用它的任何地方丢弃它。

答案 1 :(得分:0)

无。您可以查看Timer课程的源代码,了解安排TimerTask时幕后发生的事情。