ScheduledExecutorService如何实现定时任务
时间: 2023-10-13 08:17:03 浏览: 116
ScheduledExecutorService是Java中用于实现定时任务的一个接口,可以通过它来执行周期性或延迟执行的任务。
示例代码:
```java
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 executor = Executors.newScheduledThreadPool(1);
executor.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
System.out.println("Task executed at fixed rate");
}
}, 0, 1, TimeUnit.SECONDS);
}
}
```
上述代码中,通过调用Executors.newScheduledThreadPool方法创建了一个ScheduledExecutorService对象,然后通过scheduleAtFixedRate方法来执行一个周期性的任务,该任务每隔一秒钟执行一次。在任务执行过程中,会输出一段文字。
需要注意的是,这里的周期性任务是指在指定的时间间隔内执行任务,而不是在指定的时间点执行任务(类似于cron表达式)。如果需要实现类似于cron表达式的定时任务,可以使用Quartz等第三方库来实现。
阅读全文