【发布时间】:2011-05-02 07:34:22
【问题描述】:
我什么都试过了。这个也是How to stop the task scheduled in Java.util.Timer class
我有一个实现 java.util.TimerTask 的任务
我以两种方式调用该任务:
-
我这样安排定时器:
timer.schedule(timerTask, 60 * 1000);
-
有时我需要立即开始这项工作,如果有任何工作正常,它必须取消 timerTask
取消当前工作(); timer.schedule(timerTask, 0);
此实现不会停止当前的工作: (文档说:如果这个调用发生时任务正在运行,任务将运行到完成,但永远不会再次运行)
但我需要它停下来。
public static void cancelCurrentwork() {
if (timerTask!= null) {
timerTask.cancel();
}
}
这个实现只是取消了计时器,但是让当前正在做的任务被完成。
public static void cancelCurrentwork() {
if (timer!= null) {
timer.cancel();
}
}
定时器中有没有办法停止当前正在执行的任务,比如 Thread.kill() 之类的?当我需要停止该任务时,我希望它释放所有数据。
【问题讨论】:
标签: java timer scheduled-tasks schedule