timer cancel方法的一个小实例
程序员文章站
2024-01-09 18:56:10
...
package com.lj.timer; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class MyTimer extends TimerTask { private int a; private Timer timer; public MyTimer(){ timer=new Timer(); } @Override public void run() { a++; System.out.println("hello world"); System.out.println(a); if(a==5){ this.cancel(); timer.cancel(); } } public static void main(String[] args) { MyTimer mytimer = new MyTimer(); Timer timer = mytimer.timer; timer.schedule(mytimer, new Date(), 1000); } }
这里让程序每秒执行一次, 每次执行a加1, 等a加到5的时候,就让两个线程Mytimer和Timer都停止掉。
这里如果不让timer cancle掉,那么整个进程就会一直运行。