21xrx.com
2024-11-08 22:20:07 Friday
登录
文章检索 我的文章 写文章
Java 定时——让任务在指定时间自动执行
2023-06-15 19:53:35 深夜i     --     --
Java 定时任务 ScheduledExecutorService Runnable 定时备份 定时发送邮件 定时执行测

在日常开发中,我们经常需要让某些任务在指定的时间自动执行。这时候,Java 提供了一种定时任务的机制,可以让我们方便地实现这个功能。

Java 的定时任务分为两种:基于 Timer 类和基于 ScheduledExecutorService 接口。其中,Timer 类是 JDK 1.3 引入的,提供了简单易用的定时调度功能;而 ScheduledExecutorService 接口则是 JDK 1.5 引入的,相比 Timer 类更加灵活、可靠和安全。

无论使用 Timer 类还是 ScheduledExecutorService 接口,都需要创建一个任务(Runnable 或 Callable 对象),并指定任务在何时执行。下面以 ScheduledExecutorService 接口为例,介绍 Java 定时任务的具体使用方法:

1. 创建 ScheduledThreadPoolExecutor 对象

ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);

2. 创建任务

Runnable task = new Runnable() {

  @Override

  public void run()

    // 任务逻辑

}

3. 以固定频率执行任务

executor.scheduleAtFixedRate(task, initialDelay, period, TimeUnit.SECONDS);

4. 以固定延迟执行任务

executor.scheduleWithFixedDelay(task, initialDelay, delay, TimeUnit.SECONDS);

通过定时任务,我们可以轻松实现很多有趣的功能,比如定时备份、定时发送邮件、定时执行测试用例等等。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复