简述什么是 Java Timer 类?如何创建一个有特定时间间隔的任务 ?
参考答案:
Java 的 Timer
类是一个用于安排单次或重复固定延迟执行的任务的工具。这个类允许你安排一个任务(TimerTask
)在未来的某个时间点执行,或者安排一个任务在固定的时间间隔内重复执行。
Timer
类的主要方法包括:
schedule(TimerTask task, Date time)
: 在指定的时间执行一次性任务。schedule(TimerTask task, Date firstTime, long period)
: 在指定的时间开始执行重复任务,然后每隔指定的时间间隔再次执行。schedule(TimerTask task, long delay)
: 在指定的延迟后执行一次性任务。schedule(TimerTask task, long delay, long period)
: 在指定的延迟后开始执行重复任务,然后每隔指定的时间间隔再次执行。
TimerTask
是一个抽象类,你需要继承这个类并实现 run
方法来定义你的任务。
以下是一个简单的示例,展示如何使用 Timer
类创建一个有特定时间间隔的任务:
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
// 创建一个 Timer 对象
Timer timer = new Timer();
// 创建一个 TimerTask 对象,该对象会每隔 2 秒执行一次任务
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("Task executed at: " + System.currentTimeMillis());
}
};
// 安排任务从现在开始,每隔 2000 毫秒(2 秒)执行一次
long delay = 0; // 立即开始
long period = 2000; // 每隔 2 秒
timer.schedule(task, delay, period);
}
}
在这个示例中,我们创建了一个 Timer
对象和一个 TimerTask
对象。TimerTask
的 run
方法被覆盖以打印当前时间戳。然后,我们使用 timer.schedule()
方法安排任务从立即开始,并每隔 2 秒执行一次。