python中怎么确定线程池配置的最大线程数_SpringBoot 中如何优雅的实现线程池?...

adf9785cdde87b986c83a69aff1ea180.png

如果你点击这篇文章,你对线程池的原理一定不默认,即使有些生疏,可以看@Python大星 之前的一篇文章,希望能唤起你的回忆。

如果你是面试官,你会如何考察候选人关于Java 线程池熟练程度?

SpringBoot 中如何优雅的使用线程池?

1、创建 SpringBoot 工程

7c7d128baa83d5e156a6222239c1e90c.png

项目目录

2、在 resources 目录下新建 threadpool.properties

主要有核心线程数,最大线程数,队列容量和线程名称

04740f2cb9958c1caa2e17e5135136c8.png

threadpool.properties

3、创建配置类

使用 Configuration 和 EnableAsync 创建线程池配置类,

bean 的名称为“asyncServiceExecutor”,配合注解 Async 使用

c6066d0daf2d3303b46298d5b31cbc04.png

ThreadPoolExecutorConfig

4、业务处理

414b2624e09d103ba69f008a3abfe0b4.png

UserServiceImpl

5、controller 层

96e2deea0e198444b978b1d30db8c753.png

UserController

输出结果:

74626f6fdf882888b762665fa2c6fdbd.png

6、升级优化

打印线程池的情况:线程执行个数,队列任务个数?

① 自定义 MyThreadPoolTaskExecutor,打印日志

0be867de5771601ce5cdb5ba878f652f.png

MyThreadPoolTaskExecutor

② 将 ThreadPoolExecutorConfig 替换

04d639587abf93772c262fe4e7d64c1d.png

ThreadPoolExecutorConfig

输出结果:

2abc8ea2791a47ca37f69ecbb807ec1d.png

欢迎关注 @Python大星 ,一个会点 Python 的 Java 程序员。如果你有更好的想法,欢迎留言,一起探讨,想说你就说啊!

@Python大星 | 文

3ba986a2afbd2d9617fed5d93c122b93.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值