目录
ScheduledExecutorService,jdk自带的一个类,基于线程池设计的定时任务类,每个调度任务都会分配线程池中的一个线程去执行。SpringTask是Spring 3.0以后自带的Task,可以将它看成一个轻量级的Quartz,使用起来比Quartz简单。Quartz是一个功能比较强大的调度器,让程序在指定的时间执行,也可以按照某一个频率执行,配置较复杂。Task是Spring自带的定时器,使用方便简单,有以下几种配置方式:
基于注解的方式
基于注解@Scheduled默认为单线程,开启多个任务时,任务执行会受上一个任务执行时间的影响。
@Configuration //1.主要用于标记配置类,兼备Component的效果。
@EnableScheduling // 2.开启定时任务
public class SaticScheduleTask {
//3.添加定时任务
@Scheduled(cron = "0/5 * * * * ?")
//或直接指定时间间隔,例如:5秒
//@Scheduled(fixedRate=5000)
private void configureTasks() {
System.err.println("执行静态定时任务时间: " + LocalDateTime.now());
}
}
Cron表达式参数分别表示:秒(0~59)