Java在1.3版本引入了Timer工具类,它是一个古老的定时器,搭配TimerTask和TaskQueue一起使用。从Java5开始在并发包中引入了另一个定时器ScheduledThreadPoolExecutor,它对Timer做了很多改进并提供了更多的工具,可以认为是对Timer的取代。
那为什么还要介绍Timer工具类呢?通过了解Timer的功能和它背后的原理,有助于我们更好的对比了解ScheduledThreadPoolExecutor,同时ScheduledThreadPoolExecutor的一些改进思想在我们平时的编码工作中也可以借鉴。
Timer中用到的主要是两个成员变量:
//根据时间进行优先排序的队列
private final TaskQueue queue = new TaskQueue();
//消费线程,对queue中的定时任务进行编排和执行
private final TimerThread thread = new TimerThread(queue);
//构造函数
public Timer(String name) {
thread.setName(name);
thread.start();
}
<< · Back Index ·>>