spring 定时任务@Scheduled 讲解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fhm6100411074/article/details/87782329

spring 定时任务@Scheduled ,默认一个进程里,所有的@Scheduled 定时任务都在同一个线程中运行。即单线程模式

若要修改为多线程模式,需要加一个配置,如下:

@Configuration
public class ScheduleConfig implements SchedulingConfigurer {

    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        AtomicInteger autoCount = new AtomicInteger(1);

        ScheduledThreadPoolExecutor scheduledExecutorService = new ScheduledThreadPoolExecutor(10
                , runnable -> new Thread(runnable, "schedule-task-" + autoCount.getAndIncrement()));
        scheduledExecutorService.setMaximumPoolSize(10);

        taskRegistrar.setScheduler(scheduledExecutorService);
    }
}

猜你喜欢

转载自blog.csdn.net/fhm6100411074/article/details/87782329