多线程应用场景

2019-07-25  本文已影响0人  初心myp

多线程运行定时任务:

重写Spring定时器线程池,每次使用时根据注解@Scheduled(cron = "0 0 0 * * ?")


描述:当同一时间有多个任务同时执行,多个任务将串行执行。重写定时器的线程池后,多个任务就可以根据实际情况并行执行了


import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.stereotype.Component;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;

/**
 * <p>Description: [重写Spring定时器线程池]</p>
 * Created on 2018年12月5日
 * @author  muyuanpei
 * @version 1.0 
 * Copyright (c) 2019 北京柯莱特科技有限公司 交付部
 */
@Component
public class ScheduleConfig implements SchedulingConfigurer {

    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.setScheduler(taskExecutor());
    }
    
    @Bean(destroyMethod="shutdown")
    public Executor taskExecutor() {
        return Executors.newScheduledThreadPool(2);
    }
}

其他场景
异步处理,例如:发微博、记录日志等;

上一篇下一篇

猜你喜欢

热点阅读