java 实现可配置多个时间的定时任务
时间: 2024-01-23 16:01:53 浏览: 125
java版的定时任务
可以使用 Java 中的 ScheduledExecutorService 类来实现可配置多个时间的定时任务。
以下是一个实现可配置多个时间的定时任务的示例代码:
```
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ScheduledTaskExample {
public static void main(String[] args) {
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(3);
// 安排任务1在3秒后执行
scheduler.schedule(new Task("Task 1"), 3, TimeUnit.SECONDS);
// 安排任务2在5秒后执行,然后每2秒执行一次
scheduler.scheduleAtFixedRate(new Task("Task 2"), 5, 2, TimeUnit.SECONDS);
// 安排任务3在10秒后执行,然后每5秒执行一次
scheduler.scheduleWithFixedDelay(new Task("Task 3"), 10, 5, TimeUnit.SECONDS);
}
private static class Task implements Runnable {
private String name;
public Task(String name) {
this.name = name;
}
@Override
public void run() {
System.out.println(name + " executed at " + System.currentTimeMillis());
}
}
}
```
在该示例代码中,我们创建了一个 ScheduledExecutorService 对象,并使用 schedule() 方法安排任务 1 在 3 秒后执行。使用 scheduleAtFixedRate() 方法安排任务 2 在 5 秒后执行,然后每 2 秒执行一次。使用 scheduleWithFixedDelay() 方法安排任务 3 在 10 秒后执行,然后每 5 秒执行一次。
你可以根据自己的需要添加或删除安排的任务,并调整它们的执行时间和频率。
阅读全文