Timer 和TimerTask的使用

Timer是一种定时器工具,用来在后台执行计划执行的任务 ,可以一次或多次反复执行。

TimerTask是一个抽象类,继承他的子类可以作为Timer的计划任务 。

schedule的意思相当于计划表的意思,他可以传入多个参数,与多个重构

一个小例子:

这个方法继承TimerTask接口,来作为任务给Timer

 

public class Timer2 extends TimerTask {

	@Override

	public void run() {

		int a = 0;

		while(a < 5){

			try {

				Thread.sleep(1000);

			} catch (InterruptedException e) {

				// TODO Auto-generated catch block

				e.printStackTrace();

			}

			System.out.println(a++);

		}

	}

}

 

这个类来执行任务。

public class AAA {

	public static void main(String[] args) throws InterruptedException {

		Timer timer = new Timer();

		Timer2 timer2 = new Timer2();

		timer.schedule(timer2, new Date(), 10000);
//timer.schedule(timer2, new Date());

		//Thread.sleep(3000);

		//timer.cancel();

	}

}


timer.schedule(timer2, new Date(), 10000);//timer2是一个继承了TimerTask的类作为任务,new Date(),作为神魔时候开始执行,10000为延迟的时间,及下一个执行

当然,timer.schedule的重构好多,用到的可以去查api,

schedule(TimerTask task, long delay);//在延时delay毫秒后执行

还有一个需要注意的地方就是canle();

当你的一个任务正在执行的时候你执行canle是对当前的任务没有影响的,只有当前任务执行完了以后,计划任务中的下一个任务才会停止。



 

你可能感兴趣的:(timertask)