ScheduledExecutorService多任务
时间: 2023-10-17 12:22:04 浏览: 94
Java定时任务的三种实现方式
ScheduledExecutorService 是 Java 中用于执行定时任务或周期性任务的接口。它可以用来执行多个任务,以下是一个例子:
```java
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class MultiTaskDemo {
public static void main(String[] args) {
ScheduledExecutorService executor = Executors.newScheduledThreadPool(2);
// task 1
Runnable task1 = () -> {
System.out.println("Task 1 executed at " + System.currentTimeMillis());
};
executor.scheduleAtFixedRate(task1, 0, 1, TimeUnit.SECONDS);
// task 2
Runnable task2 = () -> {
System.out.println("Task 2 executed at " + System.currentTimeMillis());
};
executor.scheduleAtFixedRate(task2, 0, 2, TimeUnit.SECONDS);
}
}
```
在这个例子中,我们创建了一个 ScheduledExecutorService 对象,并使用 `scheduleAtFixedRate()` 方法来执行两个不同的任务。第一个任务将在启动后立即执行,然后每秒执行一次。第二个任务也将在启动后立即执行,但是每两秒执行一次。
通过设置不同的初始延迟和重复间隔,我们可以创建不同的任务来执行。这样可以让我们同时执行多个任务,而无需手动管理线程和定时器。
阅读全文