java使用ScheduledThreadPoolExecutor并发执行
时间: 2024-01-05 22:20:16 浏览: 77
java 定时器线程池(ScheduledThreadPoolExecutor)的实现
5星 · 资源好评率100%
使用ScheduledThreadPoolExecutor可以实现Java中的并发执行。下面是一个使用ScheduledThreadPoolExecutor并发执行的示例:
```java
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ScheduledThreadPoolExecutorExample {
public static void main(String[] args) {
// 创建一个ScheduledThreadPoolExecutor实例,指定线程池大小为3
ScheduledExecutorService executor = Executors.newScheduledThreadPool(3);
// 创建一个Runnable任务
Runnable task = () -> {
System.out.println("Task is running");
};
// 延迟1秒后执行任务
executor.schedule(task, 1, TimeUnit.SECONDS);
// 延迟2秒后执行任务,并且每隔3秒重复执行一次
executor.scheduleAtFixedRate(task, 2, 3, TimeUnit.SECONDS);
// 关闭线程池
executor.shutdown();
}
}
```
这个示例中,我们首先创建了一个ScheduledThreadPoolExecutor实例,指定线程池大小为3。然后,我们创建了一个Runnable任务,并使用schedule方法延迟1秒后执行任务。接着,我们使用scheduleAtFixedRate方法延迟2秒后执行任务,并且每隔3秒重复执行一次。最后,我们调用shutdown方法关闭线程池。
阅读全文