java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建。
一个完整的Timer:
import java.util.Timer;
Timer timer = new Timer(true);
// true 说明这个timer以daemon方式运行(优先级低,// 程序结束timer也自动结束),注意,javax.swing// 包中也有一个Timer类,如果import中用到swing包,// 要注意名字的冲突。
TimerTask task = new TimerTask() {public void run() {... //每次需要执行的代码放到这里面。}};
//以下是几种调度task的方法:
1.
timer.schedule(task, time);// time为Date类型:在指定时间执行一次。
2.
timer.schedule(task, firstTime, period);// firstTime为Date类型,period为long// 从firstTime时刻开始,每隔period毫秒执行一次。
3.
timer.schedule(task, delay)// delay 为long类型:从现在起过delay毫秒执行一次
4.
timer.schedule(task, delay, period) // delay为long,period为long:从现在起过delay毫秒以后,每隔period// 毫秒执行一次。
=================================================
Timer.cancel() 被调用之后整个Timer的线程都会结束掉
说明:不调用timer.cancel();的话timerTask线程会一直被执行, 调用timer.cancel();的话,timerTask也会执行完当次之后才不会继续执行。
