springboot线程池创建

@Configuration
@EnableAsync
public class PlanConfig {

@Bean
pub1ic Executor taskExecutor(){
	ThreadPoolTaskExecutor executor = new 					   ThreadPoolTaskExecutor();
	//配置核心线程数
	executor.setCorePoolSize(50);
	//配置最大线程数
	executor.setMaxPoolSize (2000) ;
	//配置队列大小
	executor.setQueueCapacity(99999) ;
	/默认存活时间
	executor.setKeepAliveSeconds(60);
	//配置线程池中的线程的名称前缀
	executor.setThreadNamePrefix("async-service-");
	/rejection-policy: 当pool已经达到max size的时候,如何处理新任务
	// CALLER_RUNS:不在新线程中执行任务,而是有调用者所在的线程来执行拒绝策略
	executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
	//用来设置线程池关闭的时候等待所有任务都完成再继续销毁其他的Bean
	executor.setWaitForTasksToCompleteOnShutdown(true);
	//该方法用来设置线程池中任务的等待时间,如果超过这个时候还没有销毁就强制销毁,以确保应用最后能够被关闭,而不是阻塞住executor.setAwaitTerminationSeconds (120) ;
	//执行初始化
	executor.initialize() ;return executor;
}

}

你可能感兴趣的:(Springboot,spring,boot,java,后端)