spring线程池配置

spring线程池配置

    • 声明配置类
    • 配置类组件,实现AsyncConfigurer配置线程池
    • 用properties文件保存配置信息方便修改
    • 模拟业务
    • 测试
    • 控制台结果:异步执行

声明配置类

@Configuration//声明配置类
@ComponentScan(value = "com.lianxi")//扫描组件
@Import(value = {
   ThreadPoolExecutorConfig.class})
@PropertySource(value = "classpath:threadPoolConfig.properties")//加载配置文件
public class ConfigrationTest {
   
}

配置类组件,实现AsyncConfigurer配置线程池

@Component//声明组件
@EnableAsync//声明开启多线程注解
public class ThreadPoolExecutorConfig implements AsyncConfigurer {
   

    //(1)corePoolSize: 线程池维护线程的最少数量 (core : 核心)
    @Value("${core.pool.size}")
    private int corePoolSize;

    //(2)maximumPoolSize: 线程池维护线程的最大数量
    @Value("${max.pool.size}")
    private int maximumPoolSize;

    //(3)keepAliveTime: 线程池维护线程所允许的空闲时间
    @Value("${keep.alive.time}")
    private int keepAliveTime;

    //(4)workQueue: 线程池所使用的缓冲队列
    @Value("${task.queue.size}")
    private int workQueue;

    //(5)awaitTerminationTime等待任务结束的时间
    @Value("${await.termination.time}")
    private int awaitTerminationTime;

    //(6)threadNamePrefix: 线程池名的前缀
    @Value("${thread.Name.Prefix}")
    private String threadNamePrefix;

    public int getCorePoolSize() {
   
        return corePoolSize;
    }

    public void setCorePoolSize(int corePoolSize) {
   
        this.corePoolSize = corePoolSize;
    }

    public int getMaximumPoolSize() 

你可能感兴趣的:(spring线程池配置,spring,多线程)