ScheduledExecutorService如何创建和使用?
时间: 2024-06-13 14:01:45 浏览: 140
ScheduledExecutorService任务定时代码示例
ScheduledExecutorService是Java中的一个线程池,可以用于周期性地或延迟一定时间后执行任务。它可以替代Timer类,但比Timer更灵活、功能更强大。
以下是ScheduledExecutorService的创建和使用方法:
1. 创建ScheduledExecutorService对象:
```java
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);
```
这里创建了一个大小为1的线程池,可以根据实际情况进行调整。
2. 执行周期性任务:
```java
scheduledExecutorService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
//要执行的任务代码
}
}, 0, 1, TimeUnit.SECONDS);
```
这里的任务会每秒钟执行一次。第二个参数是初始延迟时间,第三个参数是执行周期,第四个参数是时间单位。
3. 执行延迟任务:
```java
scheduledExecutorService.schedule(new Runnable() {
@Override
public void run() {
//要执行的任务代码
}
}, 5, TimeUnit.SECONDS);
```
这里的任务会延迟5秒后执行。第二个参数是延迟时间,第三个参数是时间单位。
注意:在使用完ScheduledExecutorService后,需要调用shutdown()方法来关闭线程池。
阅读全文