MST

星途 面试题库

面试题:Java中使用Timer和TimerTask实现任务调度的基本步骤

请简述在Java中如何使用Timer和TimerTask来实现一个简单的任务调度,比如在5秒后执行一个任务,并且该任务每隔3秒重复执行一次,并给出相应的代码示例。
20.9万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. 简述实现步骤
    • 创建一个Timer对象,Timer类提供了调度任务的功能。
    • 创建一个继承自TimerTask的类,TimerTask类实现了Runnable接口,在这个类的run方法中编写要执行的任务逻辑。
    • 使用Timer对象的schedule方法来安排任务的执行,schedule方法可以指定任务开始执行的延迟时间以及重复执行的间隔时间。
  2. 代码示例
import java.util.Timer;
import java.util.TimerTask;

public class TaskScheduler {
    public static void main(String[] args) {
        Timer timer = new Timer();
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                System.out.println("执行任务");
            }
        };
        // 在5秒后开始执行任务,之后每隔3秒重复执行
        timer.schedule(task, 5000, 3000);
    }
}

在上述代码中:

  • 首先创建了一个Timer对象timer
  • 然后创建了一个匿名内部类继承自TimerTask,重写run方法,在run方法中输出“执行任务”表示具体的任务逻辑。
  • 最后使用timerschedule方法,第一个参数是TimerTask对象,第二个参数5000表示延迟5000毫秒(即5秒)开始执行任务,第三个参数3000表示每隔3000毫秒(即3秒)重复执行任务。