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是对当前的任务没有影响的,只有当前任务执行完了以后,计划任务中的下一个任务才会停止。



 

posted @ 2013-05-25 15:03  javawebsoa  Views(262)  Comments(0)    收藏  举报