跳到主要内容

简述什么是 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 对象。TimerTaskrun 方法被覆盖以打印当前时间戳。然后,我们使用 timer.schedule() 方法安排任务从立即开始,并每隔 2 秒执行一次。