@Scheduled 多个定时任务启动

@Scheduled 多个定时任务启动,第1张

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;
    }

    /**
     * test
     */
    @Scheduled(cron = "0/5 * * * * ?")//初始化数据
    public void test() throws Exception {

        synchronizeService.syncDataToLocal();
    }

    /**
     * test1
     */
    @Scheduled(cron = "0/10 * * * * ?")//初始化数据
    public void test1() throws Exception {

        synchronizeService.syncDataToLocal1();
    }

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/756107.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-30
下一篇 2022-04-30

发表评论

登录后才能评论

评论列表(0条)

保存