樟树知识网

stereotypes的定义

您所在的位置:网站首页 stereotypes的定义

stereotypes的定义

2023-01-31 18:41| 来源: 网络整理| 查看: 265

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

前言:日常开发中我们常用ThreadPoolExecutor提供的线程池服务帮我们管理线程,在Springboot中更是提供了@Async注解来简化业务逻辑提交到线程池中执行的过程。由于Springboot中默认设置的corePoolSize=1和queyeCapacity=Integer.MAX_VALUE,相当于采用单线程处理所有任务,这就与多线程的目的背道而驰,所以这就要求我们在使用@Async注解时要配置线程池。本文就讲述下Springboot应用下的线程池配置。

背景知识:Springboot中通过使用ThreadPoolTaskExecutor这个JavaBean对象的corePoolSize(核心线程数)、maxPoolSize(最大线程数)、keepAliveSeconds(线程空闲时长)和queueCapacity(任务队列容量)属性来配置ThreadPoolExecutor,以上四个属性的作用大致如下:

新提交一个任务时的处理流程很明显:

如果当前线程池的线程数还没有达到基本大小(poolSize < corePoolSize),无论是否有空闲的线程新增一个线程处理新提交的任务;如果当前线程池的线程数大于或等于基本大小(poolSize >= corePoolSize) 且任务队列未满时,就将新提交的任务提交到阻塞队列排队,等候处理workQueue.offer(command);如果当前线程池的线程数大于或等于基本大小(poolSize >= corePoolSize) 且任务队列满时; 当前poolSize


【本文地址】

分享到:

相关推荐


    热门文章


    专题文章

    CopyRight 2018-2019 樟树知识网 版权所有 豫ICP备17102854号