异步任务的管理器 | 教你如何优雅打印日志

一、前言看完这篇文教你怎样biu的佛的打印日志二、线程池配置执行异步人任务时,需要将执行的任务放入到线程池中,所以需配置好我们的线程池,比如 核心线程大小 、 最大可创建的线程数 和 队列长度 等。2.1 基本参数配置@Configurationpublic class ThreadPoolConfig { /** * 核心线程池大小 */ private int corePoolSize = 50; /** * 最大.
摘要由CSDN通过智能技术生成

 一、前言

看完这篇文教你怎样biu的佛的打印日志

二、线程池配置

执行异步人任务时,需要将执行的任务放入到线程池中,所以需配置好我们的线程池,比如 核心线程大小最大可创建的线程数队列长度 等。

2.1 基本参数配置


@Configuration
public class ThreadPoolConfig {

    /**
     * 核心线程池大小
     */
    private int corePoolSize = 50;

    /**
     * 最大可创建的线程数
     */
    private int maxPoolSize = 200;

    /**
     * 队列最大长度
     */
    private int queueCapacity = 1000;

    /**
     * 线程池维护线程所允许的空闲时间
     */
    private int keepAliveSeconds = 300;
    
    ......
    ......
}

配置好基本的参数后,我们需要用这些参数初始化 ThreadPoolTaskExecutor 线程池任务执行器:

2.2 初始化任务执行器


@Bean(name = "threadPoolTaskExecutor")
public ThreadPoolTaskExecutor threadPoolTaskExecutor() {
    // 创建线程池任务执行器对象
    ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
    
    // 设置核心线程池大小
    executor.setCorePoolSize(corePoolSize);
    // 设置最大可创建的线程数
    executor.setMaxPoolSize(maxPoolSize);
    // 设置队列最大长度
    executor.setQueueCapacity(queueCapacity);
    // 设置线程池维护线程所允许的空闲时间
    executor.setKeepAliveSeconds(keepAliveSeconds);
    // 线程池对拒绝任务(无线程可用时)的处理策略
    executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
    
    return executor;
}

注意:@Bean 注解不能少,直接将其交 Spring 容器管理,后面可以通过 getBean() 方法拿到方法返回的实例。


@Be
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值