springboot 配置线程池
时间: 2023-10-20 10:27:53 浏览: 138
Spring Boot 配置和使用多线程池的实现
在Springboot中,配置线程池主要有两种方式:配置默认线程池和提供自定义线程池。从使用角度来看,两种配置方式并无优劣之分。如果使用默认线程池,可以直接使用@Async注解来将方法提交到默认线程池中执行。如果需要使用自定义线程池,需要在配置文件中进行相关配置,并通过@Async("自定义线程池bean对象名")的方式来使用该线程池。例如,在配置文件application-task.yml中,可以使用spring.task.execution.pool.*的参数来配置自定义线程池的属性,如core-size、max-size、keep-alive、queue-capacity等。具体的线程池处理流程如下:首先判断线程池中的核心线程是否都在执行任务,如果有空闲的核心线程或者还有未创建的核心线程,则创建一个新的工作线程来执行任务;如果所有核心线程都在执行任务,则判断工作队列是否已满,如果工作队列未满,则将新提交的任务存储在工作队列中;如果工作队列已满,则判断线程池中的线程是否都处于工作状态,如果有空闲的线程,则创建一个新的工作线程来执行任务;如果已经没有空闲的线程,则根据饱和策略来处理该任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Springboot应用中线程池配置教程(2021版)](https://blog.csdn.net/yu102655/article/details/114846051)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [Springboot线程池配置](https://blog.csdn.net/yu619251940/article/details/127862318)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文