定时器是一种很有用的操作,而Java中的一些定时器对我们实现程序功能的定时和调度是很有用的。在Java中,有两个类实现定时和调度相关的操作。
- 定时调度任务:TimerTask,继承该类实现业务过程任务;
- 定时调度时间:Timer,设置定时调度的时间和规则。
一个定时器操作范例
每隔5s调度一次输出当前时间的调度任务。
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/***
* 实现一个定时调度任务
*/
class MyTask extends TimerTask{
@Override
public void run() {
System.out.println(new Date());
}
}
public class TimerDemo {
public static void main(String[] args) {
MyTask myTask = new MyTask();
Timer timer = new Timer();
timer.schedule(myTask,1000,5000); // 1s后开始执行,每隔5s调用一次定时任务
}
}
输出结果如下所示:
一直被调度输出,并未退出执行
需要注意的是,这种方式并没有很精确的相隔5s,会有一些很微小的差别。
总结
这种调度方式只是对调度器功能的简单理解和使用,在真实的开发过程中,要想实现精确的调度,还需要结合企业级的类库进行相关操作。此处仅仅做了一个demo。