自定义线程池
自定义线程池好处参考:
线程是稀缺资源,如果被无限制的创建,不 仅会消耗系统资源,还会降低系统的稳定性,因此Java中提供线程池对线程进行统一分配、 调优和监控的框架。
代码:
package com.insigma.business.dwbt.qyssyh.help;
/**
* <简述>
* <详细描述>
*
* @author syf
* @date 2024年06月24日 16:58
*/
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@Configuration
public class ThreadPoolConfig {
/**
* 线程池维护线程所允许的空闲时间(单位秒)
*/
private int keepAliveSeconds = 120;
/**
* 时间单位,这里设为秒
*/
private final TimeUnit unit = TimeUnit.SECONDS;
/**
* 核心线程数 = cpu 核心数 + 1
*/
private final int core = Runtime.getRuntime().availableProcessors() + 1;
/**
* 最大线程数,可以根据具体需求调整
*/
private final int maximumPoolSize = 2 * Runtime.getRuntime().availableProcessors() + 1;
/**
* 队列最大长度
*/
private int queueCapacity = 150;
/**
* 阻塞队列,这里使用有界LinkedBlockingQueue
* 设置容量为1000,超过这个数量的元素将被阻塞&#x