基本1:https://www.cnblogs.com/ityouknow/p/6132645.html
基本2:http://blog.didispace.com/springbootscheduled/
多线程定时任务:https://blog.csdn.net/u013456370/article/details/79411952
代码 单线程:
/**
* Auther: ruoyu
* Date: 19-2-20
* Description:
*/
@Component
public class TestTask01 {
/**
* 6秒一次的定时任务
*/
@Scheduled(cron = "0/6 * * * * ?")
public void run1(){
System.out.println("run1+++++++++++++");
}
/**
* 多久毫秒一次
*/
@Scheduled(fixedRate=2000)
public void run2(){
System.out.println("run2_>>>>>>>>>>>>>>>>>>>>>>>");
}
}
在SpringBoot 中默认定时任务是单线程并联执行的,如果有多线程或同一时间执行多个任务时就需要配置多线程设置:
/**
* Auther: ruoyu
* Date: 19-2-21
* Description: 创建定时任务时可使用的线程数
*/
@Configuration
public class ScheduleConfig implements SchedulingConfigurer {
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
taskRegistrar.setScheduler(Executors.newScheduledThreadPool(10));
}
}