spring@Async线程默认配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring@Async线程默认配置相关的知识,希望对你有一定的参考价值。

@Async异步方法默认使用Spring创建ThreadPoolTaskExecutor。默认核心线程数:8,最大线程数:Integet.MAX_VALUE,队列使用LinkedBlockingQueue,容量是:Integet.MAX_VALUE,空闲线程保留时间:60s,线程池拒绝策略:AbortPolicy。

可以手动配置相应属性:

#核心线程数
spring.task.execution.pool.core-size=200 #最大线程数
spring
.task.execution.pool.max-size=1000 #空闲线程保留时间
spring
.task.execution.pool.keep-alive=3s #队列容量
spring
.task.execution.pool.queue-capacity=1000 #线程名称前缀
spring
.task.execution.thread-name-prefix=test-thread-

 

配置类是TaskExecutionProperties【org.springframework.boot.autoconfigure.task.TaskExecutionProperties】

 

 

 

 

参考地址

SpringBoot项目中@Async方法没有执行的问题分析 : https://www.cnblogs.com/hepengju/p/12715034.html 

Spring Boot教程(21) – 默认线程池 : https://zhuanlan.zhihu.com/p/85855282

以上是关于spring@Async线程默认配置的主要内容,如果未能解决你的问题,请参考以下文章

spring async异步线程任务简例

spring-boot @Async 的使用自定义Executor的配置方法

Spring Boot系列二 Spring @Async异步线程池用法总结

Spring @async 子线程上下文多租户

Spring Async 最佳实践:ExceptionHandler

Spring @Async的异常处理