zoukankan      html  css  js  c++  java
  • spring boot 线程池配置

    1.配置类

    package cn.com.bonc.util;
    
    import java.util.concurrent.Executor;
    import java.util.concurrent.ThreadPoolExecutor;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.scheduling.annotation.EnableAsync;
    import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
    
    @Configuration
    @EnableAsync
    public class MyThread {
    
        private int corePoolSize = 10;//线程池维护线程的最少数量
    
        private int maxPoolSize = 30;//线程池维护线程的最大数量
    
        private int queueCapacity = 8; //缓存队列
    
        private int keepAlive = 60;//允许的空闲时间
    
        @Bean
        public Executor myExecutor() {
            ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
            executor.setCorePoolSize(corePoolSize);
            executor.setMaxPoolSize(maxPoolSize);
            executor.setQueueCapacity(queueCapacity);
            executor.setThreadNamePrefix("mqExecutor-");
         // rejection-policy:当pool已经达到max size的时候,如何处理新任务  
            // CALLER_RUNS:不在新线程中执行任务,而是由调用者所在的线程来执行  executor.setRejectedExecutionHandler(
    new ThreadPoolExecutor.CallerRunsPolicy()); //对拒绝task的处理策略 executor.setKeepAliveSeconds(keepAlive); executor.initialize(); return executor; } }

    2.注解使用

    @Async("myExecutor") //配置类中的方法名

     3.启动类添加

    @EnableAsync
    
    欢迎指正,交流沟通,共同进步!对您有帮助的话点下推荐~~
  • 相关阅读:
    [SUCTF 2019]Pythonginx
    Buuctf-RSA1
    [网鼎杯 2020 朱雀组]phpweb
    [BJDCTF2020]ZJCTF,不过如此
    CTFHub-信息泄露
    vaex读取和处理大型文件的方法
    "生猪数据统计分析系统"----帮助文档
    法治理论1
    很短暂,很喜欢,很遗憾
    「CF1513E Cost Equilibrium」
  • 原文地址:https://www.cnblogs.com/gaoyawei/p/7777254.html
Copyright © 2011-2022 走看看