40、@Scheduled 多个定时任务启动
1、定时任务是单线程运行的
定时任务是单线程执行的,默认一个时间段只能执行一个定时任务
如果多个定时任务同时执行的话,那么会按照顺序执行
2、多线程开启定时任务
创建线程池,且注入到spring 中,
@EnableScheduling 定时任务扫描,开始定时任务计划支持
@Component
@EnableScheduling
public class SynchronizeData {
@Autowired
private SynchronizeService synchronizeService;
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(50);
return taskScheduler;
}
@Scheduled(cron = "0/5 * * * * ?")
public void test() throws Exception {
synchronizeService.syncDataToLocal();
}
@Scheduled(cron = "0/10 * * * * ?")
public void test1() throws Exception {
synchronizeService.syncDataToLocal1();
}
|