关注
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 等,方便区分不同线程池的线程。
查看原帖
点赞 评论
相关推荐
2025-12-26 16:30
曲阜师范大学 Java 点赞 评论 收藏
分享
查看21道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的付费上班经历 #
2290次浏览 60人参与
# 如果不上班,你会去做什么 #
1034次浏览 45人参与
# MiniMax求职进展汇总 #
1156次浏览 25人参与
# 参加哪些竞赛对找工作有帮助? #
1389次浏览 29人参与
# 工作压力大,你会干什么? #
1059次浏览 41人参与
# 为了入行xx岗,我学了__ #
851次浏览 17人参与
# 职场新人体验 #
159967次浏览 1141人参与
# 你们的毕业论文什么进度了 #
1234857次浏览 9913人参与
# 拿到offer之后,可以做些什么 #
84187次浏览 438人参与
# 硬件/芯片公司工作体验 #
142282次浏览 946人参与
# 你觉得面试是靠实力还是靠运气 #
27280次浏览 304人参与
# 当你面对裁员会如何? #
352988次浏览 2857人参与
# 生物制药/化工校招攻略 #
72958次浏览 338人参与
# 牛客十周岁生日快乐 #
203956次浏览 1914人参与
# 哪些公司在招寒假实习? #
24662次浏览 344人参与
# 这些公司卡简历很严格 #
84249次浏览 379人参与
# 聊聊你的职场新体验 #
311243次浏览 1842人参与
# 硬件人秋招进展 #
265280次浏览 3967人参与
# 招聘要求与实际实习内容不符怎么办 #
150275次浏览 891人参与
# 秋招开了,你想投哪些公司呢 #
968255次浏览 11391人参与
# 快手工作体验 #
296738次浏览 2896人参与
