如何停止在Java.util.Timer类中计划的任务

我正在使用java.util.timer类,我使用它的调度方法来执行一些任务,但执行它6次后,我不得不停止它的任务。

我应该怎么做?


在某处保留对定时器的引用,并使用:

timer.cancel();
timer.purge();

停止它正在做的事情。 你可以把这段代码放到你正在执行的任务中,用一个static int来计算你已经过去的次数,例如

private static int count = 0;
public static void run() {
     count++;
     if (count >= 6) {
         timer.cancel();
         timer.purge();
         return;
     }

     ... perform task here ....

}

无论是调用cancel()Timer ,如果这一切都在做,或cancel()TimerTask如果计时器本身有您希望继续其它任务。


您应该停止计时器上计划的任务:您的计时器:

Timer t = new Timer();
TimerTask tt = new TimerTask() {
    @Override
    public void run() {
        //do something
    };
}
t.schedule(tt,1000,1000);

为了停止:

tt.cancel();
t.cancel(); //In order to gracefully terminate the timer thread

注意,取消定时器不会终止正在进行的时间任务。

链接地址: http://www.djcxy.com/p/74899.html

上一篇: How to stop the task scheduled in Java.util.Timer class

下一篇: Execution time for loops