@Async用哪个线程池

news/2025/2/19 3:51:18/

一共可以分三种情况

第一种

未在手动在项目中配置任何线程池
spring boot 会默认添加一个coreSize=8的 无界线程池,名称为applicationTaskExecutor (源码:org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration)
这时使用@Async注解使用的就是applicationTaskExecutor线程池

第二种

在项目配置了线程池,但是只有一个
例如,我在项目中配置了一个名为 myThreadPool的线程池
这时使用@Async注解使用的就是myThreadPool线程池

第三种

在项目配置了线程池且有多个
例如,我在项目中配置了 myThreadPool1 、myThreadPool2 等若干个线程池
这时使用@Async注解,如果不指定使用哪个线程池,默认使用的就是SimpleAsyncTaskExecutor
SimpleAsyncTaskExecutor是 为每个任务启动一个新线程,异步执行。支持通过“concurrentyLimit”bean属性限制并发线程。默认情况下,并发线程的数量是无限的。


http://www.ppmy.cn/news/1045801.html

相关文章

深入浅出Pytorch函数——torch.nn.init.sparse_

分类目录:《深入浅出Pytorch函数》总目录 相关文章: 深入浅出Pytorch函数——torch.nn.init.calculate_gain 深入浅出Pytorch函数——torch.nn.init.uniform_ 深入浅出Pytorch函数——torch.nn.init.normal_ 深入浅出Pytorch函数——torch.nn.init.c…

【Redis】什么是缓存穿透,如何预防缓存穿透?

【Redis】什么是缓存穿透,如何预防缓存穿透? 缓存穿透是指查询一个一定不存在的数据,由于缓存中不存在,这时会去数据库查询查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,这…

rn和flutter出现“Running Gradle task ‘assembleDebug

在第一次运行rn和flutter时,会卡在Running Gradle task assembleDebug,可以使用阿里的镜像,如下图: maven { url https://maven.aliyun.com/repository/google/ } google() maven { url https://maven.aliyun.com/repository/jcen…

uevent应用:内核发送uevent,用户空间接收uevent

1,内核发送uevent 内核发送uevent的API由lib/kobject_event.c文件实现,include/linux/kobject.h是头文件。 enum kobject_action {KOBJ_ADD,KOBJ_REMOVE,KOBJ_CHANGE,KOBJ_MOVE,KOBJ_ONLINE,KOBJ_OFFLINE,KOBJ_MAX };/* kobject_uevent不能用在中断上下…

设计模式详解-桥接模式

类型:结构型模式 实现原理:将抽象类和实现类分离,使其独立,然后使用接口再将二者连接起来。 意图:将抽象部分与实现部分分离,使它们都可以独立的变化。 主要解决:类变化频繁时用继承可能会出…

STP生成树总结

一、什么是STP(802.1D) STP协议生来就是为了冗余而存在的,单纯树型的网络无法提供足够的可靠性,由此我们引入了额外的链路,这才出现了环路这样的问题。但单纯是标准的802.1D STP协议并不能实现真正的冗余与负载…

深入浅出Pytorch函数——torch.nn.init.kaiming_normal_

分类目录:《深入浅出Pytorch函数》总目录 相关文章: 深入浅出Pytorch函数——torch.nn.init.calculate_gain 深入浅出Pytorch函数——torch.nn.init.uniform_ 深入浅出Pytorch函数——torch.nn.init.normal_ 深入浅出Pytorch函数——torch.nn.init.c…

熔断降级的理解和基于feign的熔断降级

什么是熔断降级: 在微服务保护中我们使用sentinel进行了熔断降级,熔断降级时为了防止雪崩效应,什么是雪崩效应,因为微服务是一层调用一层的,如果下面某一个微服务宕机了,就会导致全部的微服务宕机&#xf…