Spring定时任务在不配置ThreadPool的时候,默认是按照1个线程执行的。
如果系统中配置了多个定时任务,定时任务的执行就会按照列队进行执行。这样执行效率会很慢,可能对Cron配置的存在影响。
SpringBoot中定时任务配置多线程执行
/** * 多线程执行定时任务 */@Configurationpublic class ScheduleConfig implements SchedulingConfigurer { private Logger logger = LoggerFactory.getLogger(ScheduleConfig.class); @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { logger.info("定时任务配置3个线程。"); taskRegistrar.setScheduler(Executors.newScheduledThreadPool(3)); }}
添加之后,定时任务就是以3个线程进行执行。
作者:
声明:本博客文章为原创,只代表本人在工作学习中某一时间内总结的观点或结论。转载时请在文章页面明显位置给出原文链接。