Skip to content

Commit 1d68b14

Browse files
committed
[docs update]完善线程池获取描述
1 parent d803817 commit 1d68b14

File tree

1 file changed

+2
-2
lines changed
  • docs/system-design/framework/spring

1 file changed

+2
-2
lines changed

docs/system-design/framework/spring/Async.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717

1818
### 自定义线程池
1919

20-
如果没有显式地配置线程池,Spring Boot 可能会使用默认的 `SimpleAsyncTaskExecutor` 实现。`SimpleAsyncTaskExecutor` 本质上不算是一个真正的线程池,因为它对于每个请求都会启动一个新线程而不重用现有线程,这会带来一些潜在的问题,例如资源消耗过大。
20+
如果没有显式地配置线程池,`@Async` 底层会先在 `BeanFactory` 中尝试获取线程池,如果获取不到,则会创建一个 `SimpleAsyncTaskExecutor` 实现。`SimpleAsyncTaskExecutor` 本质上不算是一个真正的线程池,因为它对于每个请求都会启动一个新线程而不重用现有线程,这会带来一些潜在的问题,例如资源消耗过大。
2121

22-
为什么说是可能呢?因为,这只是没有显示配置线程池中的一种情况,还可能会存在一些其他情况,但都或多或少存在一些问题,这里就不细说了,具体可以参考这篇文章[浅析 Spring 中 Async 注解底层异步线程池原理|得物技术](https://mp.weixin.qq.com/s/FySv5L0bCdrlb5MoSfQtAA)
22+
具体线程池获取可以参考这篇文章[浅析 Spring 中 Async 注解底层异步线程池原理|得物技术](https://mp.weixin.qq.com/s/FySv5L0bCdrlb5MoSfQtAA)
2323

2424
一定要显式配置一个线程池,推荐`ThreadPoolTaskExecutor`。并且,还可以根据任务的性质和需求,为不同的异步方法指定不同的线程池。
2525

0 commit comments

Comments
 (0)