关注
Spring线程池( ThreadPoolTaskExecutor )有几个核心参数:
1. corePoolSize
- 含义:线程池的核心线程数。核心线程在创建后会一直存活,即使它们处于空闲状态。这些线程会等待任务到来并执行任务,它们是线程池基本的执行力量。
- 示例:如果 corePoolSize 设置为5,那么线程池在初始化后会创建5个核心线程,随时准备执行任务。
2. maxPoolSize
- 含义:线程池允许的最大线程数。当任务数量超过核心线程数,并且工作队列已满时,线程池会创建新的线程来处理任务,直到线程数量达到最大线程数。
- 示例: maxPoolSize 设置为10,当有大量任务到来,核心的5个线程处理不过来,任务队列也满了,就会继续创建新线程,最多创建到10个。
3. queueCapacity
- 含义:工作队列的容量。当提交的任务数超过核心线程数时,这些任务会被放入工作队列中等待执行。工作队列用于缓冲任务,让线程可以从队列中获取任务并执行。
- 示例: queueCapacity 设为100,当有超过核心线程数的任务提交时,最多可有100个任务在队列中等待,而不是立即创建新线程。
4. keepAliveSeconds
- 含义:当线程数大于核心线程数时,多余线程的空闲存活时间。即当线程池中的线程数量超过核心线程数,并且有线程处于空闲状态的时间超过这个设定值时,这些多余的空闲线程会被销毁。
- 示例: keepAliveSeconds 设为60,表示多余线程空闲60秒后就会被销毁。
5. threadNamePrefix
- 含义:线程名称的前缀。用于在日志记录、调试等场景中方便地识别线程所属的线程池。
- 示例:设置 threadNamePrefix 为 "my-pool-" ,那么线程池创建的线程名称可能是 my - pool - 1 、 my - pool - 2 等,方便区分不同线程池的线程。
查看原帖
点赞 评论
相关推荐
09-24 22:40
上海师范大学 前端工程师 回不去家的废废在玉玉:哥们昨天手撕因为踩了语法坑没写出来,和面试官大眼瞪小眼都没找出bug,最后面试官还对我温柔的挥挥手😭估计我们没有再见的机会力😡
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招公司红黑榜 #
19084次浏览 159人参与
# 一人分享一句让你在秋招振作起来的话 #
10195次浏览 229人参与
# 字节求职进展汇总 #
276451次浏览 3189人参与
# 你的简历改到第几版了 #
649149次浏览 9514人参与
# 海康威视求职进展汇总 #
293425次浏览 2806人参与
# 你最希望上岸的公司是? #
14017次浏览 160人参与
# 在找工作求抱抱 #
817419次浏览 9128人参与
# 最后再改一次简历 #
1719742次浏览 27396人参与
# 如何写一份好简历 #
557223次浏览 8092人参与
# 找实习多的是你不知道的事 #
1241110次浏览 17604人参与
# 写简历别走弯路 #
585073次浏览 7257人参与
# 我的简历长这样 #
1651811次浏览 25885人参与
# 我想象的实习vs现实的实习 #
215362次浏览 1916人参与
# 你已经投递多少份简历了 #
576399次浏览 7099人参与
# 产品人求职现状 #
100602次浏览 1306人参与
# 我发现了面试通关密码 #
834134次浏览 14783人参与
# 面试等了一周没回复,还有戏吗 #
76831次浏览 768人参与
# 金融银行求职进展汇总 #
5630次浏览 45人参与
# 你收到了团子的OC了吗 #
1006912次浏览 10441人参与
# 百度工作体验 #
86385次浏览 693人参与