Java 定时器允许我们在指定的时间或间隔内执行任务,这对需要在特定时间或重复执行的任务非常有用。Java 中有两种主要的定时器类:
java.util.Timer
和
java.util.concurrent.ScheduledExecutorService
。
java.util.Timer
类允许我们安排任务在指定的时间或间隔内执行。要使用 Timer 类,我们需要创建一个 Timer 对象,并将其传递给 Task 对象。Task 对象实现
java.util.TimerTask
接口,其中包含
run()
方法,该方法在任务执行时被调用。
以下是一个使用 Timer 类安排任务在指定时间执行的示例:
```javaimport java.util.Timer;```javaimport java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;public class ScheduledExecutorServiceExample {public static void main(String[] args) {// 创建一个 ScheduledExecutorService 对象ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);// 创建一个任务,该任务以指定间隔执行Runnable task = () -> System.out.println("任务以指定间隔执行");// 安排任务在 5 秒后开始执行,并每 2 秒重复执行一次executorService.scheduleAtFixedRate(task, 5, 2, TimeUnit.SECONDS);// 关闭 ExecutorServiceexecutorService.shutdown();}}```以上示例将在 5 秒后开始打印消息“任务以指定间隔执行”,并每 2 秒重复一次。
Timer 类和 ScheduledExecutorService 类都是用于在指定时间或间隔内执行任务的工具,但它们之间有以下主要区别:
因此,如果您需要一个灵活、强大且受支持的定时器机制,建议使用 ScheduledExecutorService 类。
本文地址:https://www.qianwe.com/article/96e11019677bad75ad05.html