线程池之实例
开启线程池:
@Configuration
@EnableAsync //开启多线程
public class ThreadPoolConfig{
@Bean("taskExecutor")
public Executor asyncServiceExecutor(){
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
//设置核心线程数
executor.setCorePoolSize(5);
//设置最大线程数
executor.setMaxPoolSize(20);
//配置队列大小
executor.setQueueCapacity(Integer.MAX_VALUE);
//设置线程活跃时间(S)
executor.setKeepAliveSeconds(60);
//设置线程默认名称
executor.setThreadNamePrefix("Hello World");
//等待所有任务结束后再关闭线程池
executor.setWaitForTasksToCompleteOnShutdown(true);
//执行初始化
executor.initialize();
return executor;
}
}
使用线程池:
在需要使用线程池的方法上:
@Async("taskExecutor")
public void updateXXX(){
//业务逻辑
}

浙公网安备 33010602011771号