ScheduledExecutorService 怎么使用
时间: 2024-04-16 08:22:02 浏览: 102
java定时器设置及停止的方法
ScheduledExecutorService是Java中的一个接口,用于执行定时任务和周期性任务。它提供了一种方便的方式来调度任务的执行,并且可以在指定的时间间隔内重复执行任务。
下面是使用ScheduledExecutorService的简单示例[^1]:
```java
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ScheduledExecutorServiceExample {
public static void main(String[] args) {
// 创建一个ScheduledExecutorService实例
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
// 延迟1秒后执行任务
executor.schedule(() -> {
System.out.println("任务执行了");
}, 1, TimeUnit.SECONDS);
// 延迟2秒后开始执行任务,然后每隔3秒重复执行任务
executor.scheduleAtFixedRate(() -> {
System.out.println("重复任务执行了");
}, 2, 3, TimeUnit.SECONDS);
// 关闭ScheduledExecutorService
executor.shutdown();
}
}
```
上述示例中,我们首先创建了一个ScheduledExecutorService实例,然后使用`schedule()`方法延迟1秒后执行一次任务。接着使用`scheduleAtFixedRate()`方法延迟2秒后开始执行任务,并且每隔3秒重复执行任务。最后,我们调用`shutdown()`方法关闭ScheduledExecutorService。
需要注意的是,ScheduledExecutorService只有在调度任务到来时才会真正启动一个线程,其余时间处于轮询任务的状态[^2]。
阅读全文