关注
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 等,方便区分不同线程池的线程。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# Agent面试会问什么? #
32204次浏览 1279人参与
# 米哈游工作体验 #
29621次浏览 143人参与
# 厦门银行科技岗值不值得投 #
18648次浏览 421人参与
# 面试体验最好和最差的公司 #
23085次浏览 161人参与
# 哪些公司一直卡在简历筛选 #
103982次浏览 342人参与
# 我的求职进度条 #
979860次浏览 6520人参与
# 一人分享一个skill #
8411次浏览 226人参与
# 选实习,你更看重哪方面? #
76425次浏览 505人参与
# 春招至今,你收到几个面试了? #
82192次浏览 1077人参与
# 拼多多工作体验 #
55168次浏览 389人参与
# TCL求职进展汇总 #
152140次浏览 665人参与
# 说说你知道的学历厂 #
399878次浏览 1423人参与
# 给工作过的公司写一条大众点评,你会怎么写? #
11101次浏览 131人参与
# 拿到offer之后,可以做些什么 #
103580次浏览 506人参与
# 春招已经启动啦 硬件uu开始投了吗? #
124135次浏览 771人参与
# 我是XXX,请攻击我最薄弱的地方 #
72596次浏览 490人参与
# 入职第一天,你准备什么时候下班 #
117840次浏览 515人参与
# 通信/硬件的薪资开多少,才值得去? #
76320次浏览 406人参与
# 烂工作和没工作哪个更痛苦? #
18300次浏览 273人参与
# 现在入门AI首先要做什么? #
4791次浏览 104人参与
# 你喜欢工作还是上学 #
97152次浏览 913人参与

查看8道真题和解析