关注
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 等,方便区分不同线程池的线程。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 如何准备秋招 #
10205次浏览 182人参与
# 软开人,秋招你打算投哪些公司呢 #
100726次浏览 944人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
22083次浏览 185人参与
# 你觉得实习能学到东西吗 #
14703次浏览 354人参与
# 秋招什么时候开投比较合适? #
6118次浏览 143人参与
# 实习,不懂就问 #
26856次浏览 433人参与
# 每个月的工资都是怎么分配的? #
13557次浏览 307人参与
# 你觉得实习只能是打杂吗? #
192224次浏览 1223人参与
# 你们公司几号发工资 #
18851次浏览 128人参与
# 你觉得现在还能进互联网吗? #
4338次浏览 98人参与
# 非技术岗简历怎么写 #
216686次浏览 2918人参与
# 预测一下26届秋招形势 #
22844次浏览 225人参与
# 技术岗笔试题求解 #
75396次浏览 974人参与
# 你最近一次加班是什么时候? #
67757次浏览 346人参与
# 高考出分的那一天,我__ #
15545次浏览 263人参与
# 聊聊你的职场新体验 #
161277次浏览 1391人参与
# 打工人的精神状态 #
53804次浏览 985人参与
# 大家实习每天都在干啥 #
82773次浏览 505人参与
# 米哈游工作体验 #
17662次浏览 116人参与
# 来聊聊你认为的薪资天花板是哪家? #
30803次浏览 174人参与
# 机械实习一天多少钱合适? #
28862次浏览 176人参与