关注
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 等,方便区分不同线程池的线程。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 金融财经春招备战日记 #
30786次浏览 175人参与
# 牛油的搬砖plog #
113073次浏览 834人参与
# 深信服秋招来了 #
272903次浏览 2905人参与
# 你的实习什么时候入职 #
306888次浏览 2129人参与
# 工作两年想退休了 #
165032次浏览 1436人参与
# 大学四年该怎么过,才不算浪费时间? #
13943次浏览 86人参与
# 携程求职进展汇总 #
641074次浏览 4662人参与
# 考公VS就业,你怎么选? #
81185次浏览 491人参与
# 26届的你,投了哪些公司? #
194982次浏览 1204人参与
# 如果没找到工作,考公是你的退路吗 #
50080次浏览 398人参与
# 面试中,你被问过哪些奇葩问题? #
76212次浏览 825人参与
# 机械人的offer怎么选 #
170002次浏览 892人参与
# 校招入职后的感受 #
380351次浏览 3235人参与
# 基恩士求职进展汇总 #
24663次浏览 135人参与
# 如何快速融入团队? #
33898次浏览 280人参与
# 网申一定要掌握的小技巧 #
13587次浏览 77人参与
# 联影求职进展汇总 #
41461次浏览 278人参与
# 国庆假期,给大脑放个假 #
6374次浏览 58人参与
# 校招阶段,学历VS技术哪个更重要? #
47672次浏览 325人参与
# 通信硬件人社招/春招/实习投递现状 #
30131次浏览 951人参与
# 非技术er求职现状 #
102655次浏览 673人参与
# 互联网行业现在还值得去吗 #
32525次浏览 219人参与