1. application.yml配置

# 异步线程配置
# 配置核心线程数
async.executor.thread.core_pool_size: 10
# 配置最大线程数
async.executor.thread.max_pool_size: 20
# 配置队列大小
async.executor.thread.queue_capacity: 99999
# 配置线程池中的线程的名称前缀
async.executor.thread.name.prefix: async-service-
2. config配置类

@Configuration
@EnableAsync
public class ExecutorConfig {

private static final Logger logger = LoggerFactory.getLogger(ExecutorConfig1.class);

@Value("${async.executor.thread.core_pool_size}")
    private int corePoolSize;
    @Value("${async.executor.thread.max_pool_size}")
    private int maxPoolSize;
    @Value("${async.executor.thread.queue_capacity}")
    private int queueCapacity;
    @Value("${async.executor.thread.name.prefix}")
    private String namePrefix;

@Bean(name = "asyncServiceExecutor")
    public Executor asyncServiceExecutor() {
        logger.info("==============> start asyncServiceExecutor");
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        //配置核心线程数
        executor.setCorePoolSize(corePoolSize);
        //配置最大线程数
        executor.setMaxPoolSize(maxPoolSize);
        //配置队列大小
        executor.setQueueCapacity(queueCapacity);
        //配置线程池中的线程的名称前缀
        executor.setThreadNamePrefix(namePrefix);

// rejection-policy:当pool已经达到max size的时候,如何处理新任务
        // CALLER_RUNS:不在新线程中执行任务,而是有调用者所在的线程来执行
        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        //执行初始化
        executor.initialize();
        return executor;
    }
}
3. 调用, 直接在service方法上加注解

@Async("asyncServiceExecutor")
public void checkWork(long eProjectId, String projectIds) {
}

springboot线程池配置相关推荐

  1. SpringBoot线程池的创建、@Async配置步骤及注意事项

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:Muscleheng blog.csdn.net/Muscl ...

  2. Springboot应用中线程池配置教程(2021版)

    前言:日常开发中我们常用ThreadPoolExecutor提供的线程池服务帮我们管理线程,在Springboot中更是提供了@Async注解来简化业务逻辑提交到线程池中执行的过程.由于Springb ...

  3. Springboot线程池的使用和扩展

    我们常用ThreadPoolExecutor提供的线程池服务,springboot框架提供了@Async注解,帮助我们更方便的将业务逻辑提交到线程池中异步执行,今天我们就来实战体验这个线程池服务: 实 ...

  4. SpringBoot线程池ThreadPoolTaskExecutor和@Async异步方法浅解及代码应用示例

    目录 线程池执行顺序 线程池配置策略 Spring线程池的配置类: Spring有.无返回值的异步调用示例 自定义的异步方法类代码: 测试类代码 常见问题: 参考文章: 线程池执行顺序 核心线程数(C ...

  5. 什么?用@Async会内存溢出?看看你的线程池配置了没!

    上一篇我们介绍了如何使用@Async注解来创建异步任务,我可以用这种方法来实现一些并发操作,以加速任务的执行效率.但是,如果只是如前文那样直接简单的创建来使用,可能还是会碰到一些问题.存在有什么问题呢 ...

  6. Java多线程之线程池配置合理线程数

    Java多线程之线程池配置合理线程数 目录 代码查看公司服务器或阿里云是几核的 合理线程数配置之CPU密集型 合理线程数配置之IO密集型 1. 代码查看公司服务器或阿里云是几核的 要合理配置线程数首先 ...

  7. 若依专题 线程池配置

    若依项目 | 线程池配置 概括: ruoyi项目中的线程池配置以@bean的方式自定义ThreadPoolTaskExecutor对象.ScheduledExecutorService对象放入Spri ...

  8. spring定时任务Scheduled与定时任务线程池配置SchedulingConfigurer ,Java

    spring定时任务Scheduled与定时任务线程池配置SchedulingConfigurer ,Java spring默认定时任务的使用 package zhangphil.demo;impor ...

  9. 解决URL存在特殊符号、异步线程池配置、动态加载lib下所有jar包

    一.解决URL存在特殊符号|{}?&.URL中包含%2F.URL中包含%5C import lombok.extern.slf4j.Slf4j; import org.springframew ...

最新文章

  1. MySQL基础篇:用户和权限管理
  2. 使用Spring JDBC进行数据访问 (JdbcTemplate/NamedParameterJdbcTemplate/SimpleJdbcTemplate/SimpleJdbcCall/Stor)
  3. 培智学校计算机课教案,培智数学教案
  4. 阿里巴巴消息中间件: Spring Cloud Stream
  5. 程序员每天少吃 能活120岁
  6. MySQL基础篇(01):经典实用查询案例,总结整理
  7. vb.net编写函数应该在哪里_编写代码时清晰至上
  8. easy~算法刷题第三天
  9. 取消文件与svn服务器的关联
  10. Javascript深入浅出之闭包
  11. ARKit之路-ARKit概述之二
  12. 大型网站架构演进历程
  13. 2021 MCU WiFi竞争新格局,国产MCU WiFi芯片盘点,附录2020/2021 MCU WiFi排行
  14. dinic 最大流费用流模板
  15. 图片如何批量重命名?一步一步教会你
  16. 做网络必须掌握83句话,网络成功可以复制
  17. 一行代码!生成自己QQ、微信的动态二维码
  18. 前端 css3动画2D|3D
  19. linux系统漏洞firefart,CVE-2016-5195脏牛Linux提权复现
  20. WIFI6 TWT机制介绍

热门文章

  1. php.ini 是否设置路由,php – 如何在路由INI文件中为Zend Framework中的子域编写路由链?...
  2. mongodb java 执行js脚本_MongoDB编写并执行js脚本
  3. 动词ing基本用法_哪些动词后面只能接动名词背诵口诀
  4. Leetcode每日一题:136.single-number(只出现一次的数字)
  5. 吴恩达深度学习神经网络基础编程作业Planar data classification with one hidden layer
  6. 西瓜书+实战+吴恩达机器学习(十四)无监督学习之聚类(k-means, LVQ, 高斯混合聚类, DBSCAN, AGNES)
  7. Linux编程(2)_软件的安装和卸载
  8. python3爬取数据存入mysql_pyspider 数据存入Mysql--Python3
  9. 考上985能改变命运吗_2021艺考生:文化课成绩一般,有机会考上985、211吗?
  10. Cookie字符串转Map集合方法