疫情大数据平台可能会出现短时大量访问的情况,就需要线程池进行处理,本篇主要描述手动实现线程池
实现:
首先启动类需要添加这个注解@EnableAsync
@SpringBootApplication
@EnableAsync
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
然后,新增threadPoolTaskExecutor类,用于创建线程池
@Configuration
@EnableAsync
public class ThreadExecutorConfig {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
private int corePoolSize = 20;
private int maxPoolSize = 20;
private int queueCapacity = 20;
@Bean
public Executor threadPoolTaskExecutor(){
System.out.println("创建线程池");
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(corePoolSize);
executor.setMaxPoolSize(maxPoolSize);
executor.setQueueCapacity(queueCapacity);
executor.setThreadNamePrefix("threadPoolTaskExecutor-》》》");
executor