解决@Scheduled多线程问题,同时执行多个定时任务
@Scheduled为springboott集成了一个定时调度。@Scheduled注解的定时任务是单线程的,同一时间段内只能执行一个定时任务,其它定时任务不执行。
为解决同一时间无法执行多任务,可以通过配置类,同时启动类添加注解@EnableScheduling。
@Configuration public class ScheduledConfig { @Bean public TaskScheduler taskScheduler() { ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); taskScheduler.setPoolSize(20); return taskScheduler; } }
也可以将@Bean相关内容放置在启动类中。