| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.tmzn.devicelinkykc.taskQueue.queue;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.scheduling.annotation.EnableAsync;
- import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
- import java.util.concurrent.Executor;
- import java.util.concurrent.ThreadPoolExecutor;
- /**
- * 自定义创建线程池
- */
- @Configuration
- @EnableAsync
- public class TaskExecutePool {
- @Bean
- public Executor heartTaskAsyncPool() {
- ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
- executor.setCorePoolSize(4); //核心线程数
- executor.setMaxPoolSize(8); //最大线程数
- executor.setQueueCapacity(1000); //队列大小
- executor.setKeepAliveSeconds(300); //线程最大空闲时间
- executor.setThreadNamePrefix("async-heartExecutor-");
- executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); // 拒绝策略(一共四种,此处省略)
- executor.initialize();
- return executor;
- }
- @Bean
- public Executor charngingTaskAsyncPool() {
- ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
- executor.setCorePoolSize(4); //核心线程数
- executor.setMaxPoolSize(8); //最大线程数
- executor.setQueueCapacity(1000); //队列大小
- executor.setKeepAliveSeconds(300); //线程最大空闲时间
- executor.setThreadNamePrefix("async-charngingExecutor-");
- executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); // 拒绝策略(一共四种,此处省略)
- executor.initialize();
- return executor;
- }
- @Bean
- public Executor freeTaskAsyncPool() {
- ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
- executor.setCorePoolSize(4); //核心线程数
- executor.setMaxPoolSize(8); //最大线程数
- executor.setQueueCapacity(1000); //队列大小
- executor.setKeepAliveSeconds(300); //线程最大空闲时间
- executor.setThreadNamePrefix("async-freeExecutor-");
- executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); // 拒绝策略(一共四种,此处省略)
- executor.initialize();
- return executor;
- }
- @Bean
- public Executor transactionTaskAsyncPool() {
- ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
- executor.setCorePoolSize(4); //核心线程数
- executor.setMaxPoolSize(8); //最大线程数
- executor.setQueueCapacity(1000); //队列大小
- executor.setKeepAliveSeconds(300); //线程最大空闲时间
- executor.setThreadNamePrefix("async-transactionExecutor-");
- executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); // 拒绝策略(一共四种,此处省略)
- executor.initialize();
- return executor;
- }
- }
|