(JUC)核心线程 和 救急线程的区别;Executors-固定大小线程池&&单线程线程池

救急线程在执行完任务后会有生存时间限制,若无新任务则会销毁;核心线程则无限期保留。使用救急线程需配合有界队列,当任务超过队列大小时,会创建额外的救急线程。无界队列则不使用救急线程,任务由核心线程处理。达到最大线程数仍无法处理的任务将执行拒绝策略,部分框架可能采用自定义扩展策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

核心线程 和 救急线程的区别

救急线程是有个生存时间的,它执行完任务了,过了一段时间,没有新任务了,救急线程就会销毁掉,变成结束的状态

核心线程没有生存时间,它执行完任务后,它仍然会被保存在线程池中,不会让核心线程结束,会让核心线程一直去运行

KeepAliveTime 生存时间、unit时间单位,这两个参数就是针对于救急线程的

 

 

使用救急线程的前提,是要配合有界队列的使用。

如果队列选择了有界队列,那么任务超过了队列大小时,会创建 maximumPoolSize - corePoolSize 数目的线程来救急。

如果队列选择的是无界队列,那么就不会用到救急线程,任务会一直存入无界队列,然后由核心线程来轮流去处理无界队列里的任务。

如果线程到达 maximumPoolSize 仍然有新任务这时会执行拒绝策略。拒绝策略 jdk 提供了 4 种实现,

但是很多第三方框架都不是使用的jdk提供的,而是选择使用 更功能上的增强,在这些 功能上进行扩展

 

 

Executors-固定大小线程池

 

Executors-单线程线程池

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值