当前位置: 首页 > news >正文

Java 线程池 核心重点精讲 + 优缺点(面试必背精简版)

一、什么是线程池

提前创建一批线程,放入池中统一管理,任务来了直接复用线程,不用频繁新建 / 销毁线程,降低开销、提高响应速度、便于管控

二、核心七大参数(必考)

1. 核心参数(重点)

  1. corePoolSize核心线程数,一直常驻不回收
  2. maximumPoolSize最大线程数,池里最多能有多少线程
  3. keepAliveTime:空闲线程存活时间
  4. unit:时间单位
  5. workQueue任务阻塞队列,存等待执行的任务
  6. threadFactory:线程工厂,创建线程、设置名称、优先级
  7. handler拒绝策略,队列满 + 线程数达最大时如何处理新任务

2. 运行流程(必背流程)

  1. 来了任务 →核心线程数未满:新建核心线程执行
  2. 核心线程已满 →队列没满:任务放入阻塞队列排队
  3. 队列已满 →最大线程数未满:新建非核心线程执行
  4. 最大线程也满 → 触发拒绝策略

三、常用阻塞队列

  • ArrayBlockingQueue:有界队列,固定容量
  • LinkedBlockingQueue:无界 / 有界,不设上限会无限存任务
  • SynchronousQueue:不存元素,来任务必须立刻有线程处理
  • DelayQueue:延迟队列,定时任务用

四、四大拒绝策略(必考)

  1. AbortPolicy(默认):直接抛异常,中断服务
  2. CallerRunsPolicy谁提交谁执行(主线程自己跑任务)
  3. DiscardPolicy:直接丢弃当前新任务,不报错
  4. DiscardOldestPolicy:丢弃队列最旧任务,加入新任务

五、内置 4 种线程池(禁止生产用,面试懂原理)

  1. newFixedThreadPool:固定线程数,队列无界 → 任务堆积 OOM
  2. newCachedThreadPool:无核心线程、最大无限 → 线程暴涨 OOM
  3. newSingleThreadExecutor:单线程,串行执行
  4. newScheduledThreadPool:定时 / 周期任务线程池

生产规范:禁止用 Executors,自己手动创建 ThreadPoolExecutor

六、线程池优点

  1. 降低资源消耗:复用线程,避免频繁创建销毁线程开销
  2. 提高响应速度:任务来了不用等新建线程,直接复用
  3. 便于统一管理:统一控制线程数量、优先级、任务调度
  4. 防止无限创建线程:限制最大线程数,避免系统资源耗尽
  5. 解耦任务和线程:任务提交和执行分离

七、线程池缺点

  1. 参数配置难:核心线程、队列、最大线程设不好容易任务堆积、阻塞
  2. 无界队列风险:用无界队列会一直存任务,导致内存溢出 OOM
  3. 线程泄露风险:任务内部死循环、阻塞不退出,线程一直占用
  4. 任务异常不处理:子线程异常不捕获,容易线程死掉不复用
  5. 上下文切换开销:线程数开太多,会造成频繁上下文切换,反而变慢

八、生产使用规范(必记)

  1. 不用 Executors,手动 new ThreadPoolExecutor
  2. 必须使用有界队列,防止任务无限堆积
  3. 自定义线程工厂,给线程起业务名称,方便排查问题
  4. 自定义拒绝策略,不默认抛异常,做降级 / 排队 / 告警
  5. 任务内部必须 try-catch,防止线程猝死
  6. 合理估算核心线程数
    • CPU 密集型:核心数 =CPU 核数 + 1
    • IO 密集型:核心数 =CPU 核数 * 2或更大

九、面试一句话总结

线程池通过7 大参数管控线程与任务,复用线程减少创建销毁开销、提升响应速度、限制并发峰值;优点是性能高、易管控、省资源,缺点是参数难配置、无界队列易 OOM、任务异常易导致线程失效,生产必须手动创建、用有界队列、自定义拒绝策略和线程工厂。

http://www.jsqmd.com/news/828724/

相关文章:

  • 3个步骤彻底告别电脑风扇噪音:Windows平台最精细的风扇控制解决方案
  • 想要快速拿大专或者本科学历找工作的看过来,15天下证! - 教育官方推荐官
  • Uncle小说阅读器:桌面级智能小说聚合与个性化阅读方案
  • 2026年贵州酱酒OEM定制与封坛酒商务接待完全指南:茅台镇源头直供品牌深度评测 - 精选优质企业推荐官
  • 3种革命性方法:如何在Windows电脑上无缝安装安卓应用
  • Agent Skills 开放标准来了:AI Agent 终于有了“可复用技能包”
  • 绍兴富呈机械设备租赁:绍兴比较好的设备搬运电话 - LYL仔仔
  • 2026年电磁振动台行业优选服务商科讯精密仪器实测口碑TOP5 - 速递信息
  • 如何突破NVIDIA显卡30%风扇限制:Fan Control实现0 RPM静音全攻略
  • 赣州母婴康养行业新趋势:全周期服务如何守护母婴健康 - 速递信息
  • 从99%到5%!只花了50块的「维普AIGC检测26年4月30日升级后毕业之家AI一键双降功能」实测教程(无广纯分享)
  • 智能氮气柜核心技术解析:从密封设计到智能控制的环境控制系统
  • 车辆扫码进入装车小程序及语音对讲功能实现方案
  • 硬件研发必看:钡特电源 VF6-48S12P 与金升阳 URF4812P-6WR3 同属工业级高可靠 封装与性能对比
  • 2026年全国热门废气处理解决方案提供商推荐:安徽力孚环境工程有限公司 - 安互工业信息
  • 苹果手机拍照怎么转Word?4种图片转换方法实测对比,2026年最好用的方案在这儿 - AI测评专家
  • Word怎么转图片?2026年免费在线转换工具推荐与实测对比 - AI测评专家
  • 北京亨得利腕表精密零件更换服务全记录:2026年5月六城实地探访与零件更换避坑指南(附官方授权地址与热线) - 亨得利腕表维修中心
  • 告别手动画框!AutoCAD 2022 + Cadence SPB 17.4 异形PCB板框绘制全流程(含合并块技巧)
  • 汽车贴膜常见 10 问:正品授权与服务保障怎么辨? - 速递信息
  • 瑞萨RA系列MCU开发第一步:手把手教你安装配置e2studio和FSP 3.4.0
  • Python四大核心容器:列表、元组、字典、集合的实战选择与性能指南
  • deepseek公式怎么复制 - AI导出鸭
  • 2026年度沙尘试验箱TOP5口碑实测榜单:避坑指南与优选服务商深度调研 - 速递信息
  • 从零构建家庭实验室:基础设施即代码实践指南
  • 2026郑州企业geo优化AI 获客新风口全攻略 - 速递信息
  • 胡桃工具箱Snap.Hutao:免费开源原神助手完整使用指南
  • 德语母语级语音合成如何炼成?ElevenLabs德文模型参数深度解析,含A1–C2分级发音权重对照表
  • 2026昆山装修公司口碑榜十大靠谱装企避坑指南含零增项质保 - 元点智创
  • 2026UPS不间断电源厂家哪家靠谱?基于ISO与CE认证体系的合规性评估路径 - 速递信息