Timer的使用
Java Timer 定时任务调度详解
Timer 是 Java 原生提供的定时任务调度工具,虽然功能相对简单,但在简单场景下可以满足定时执行任务的需求。本文将详细解析 Timer 的核心组件、调度方式及使用细节。
Timer 核心组件
Timer 框架主要由两个核心类构成:Timer 和 TimerTask。
TimerTask:任务载体
TimerTask 是一个抽象类,实现了 Runnable 接口,代表一个可以被 Timer 调度的任务。
public abstract class TimerTask implements Runnable {
// 任务状态常量
static final int VIRGIN = 0; // 未调度
static final int SCHEDULED = 1; // 已调度(等待执行)
static final int EXECUTED = 2; // 已执行(非重复任务)
static final int CANCELLED = 3; // 已取消
int state = VIRGIN; // 初始状态为未调度
// 抽象方法,需用户实现具体任务逻辑
public abstract void run();
// 取消任务
public boolean cancel() { ... }
// 获取任务下次执行时间
public long scheduledExecutionTime() { ... }
}