关注
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 等,方便区分不同线程池的线程。
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
4721次浏览 68人参与
# 找工作的破防时刻 #
251706次浏览 1953人参与
# 程序员找工作至少要刷多少题? #
9454次浏览 146人参与
# 你投递的公司有几家约面了? #
157816次浏览 995人参与
# 论秋招对个人心气的改变 #
5967次浏览 104人参与
# 我的AI电子员工 #
26157次浏览 159人参与
# OPPO求职进展汇总 #
770986次浏览 5396人参与
# 为了减少AI幻觉,你注入过哪些设定? #
1893次浏览 54人参与
# 刚入职的你踩过哪些坑 #
4246次浏览 91人参与
# 程序员能干到多少岁? #
5824次浏览 90人参与
# 一张图晒一下你的AI员工 #
3018次浏览 62人参与
# 牛客AI体验站 #
3430次浏览 91人参与
# 我现在比当时_,你想录用我吗 #
3709次浏览 63人参与
# 想辞职但是不敢的原因 #
20178次浏览 88人参与
# ai智能作图 #
624783次浏览 5627人参与
# AI Coding的使用心得 #
2372次浏览 60人参与
# 关于春招/暑期实习,你想知道哪些信息? #
4013次浏览 84人参与
# 牛客租房专区 #
146776次浏览 1464人参与
# 晒晒你司的新年福利 #
4030次浏览 70人参与
# 虾皮求职进展汇总 #
373466次浏览 2792人参与
查看15道真题和解析