线程相关_线程池原理

发布时间:2026/5/16 1:37:42

线程相关_线程池原理 一、定基调线程池本质是一个资源管控模型用池化技术和排队机制在系统开销和响应速度间找平衡。核心思想是提前创建一批线程复用它们执行多个任务避免频繁创建和销毁线程的开销。二、将机制核心线程常驻——保底处理能力队列缓冲——任务先排队能不扩线程就不扩弹性扩张——只有队列满了才开临时工非核心线程精准回收——临时工干完活超时自动离职三、埋钩子为什么先排队后扩容线程创建成本高能复用就复用为什么默认核心线程不回收避免频繁创建销毁稳定响应为什么要有拒绝策略系统要自我保护不能无限制的接活核心线程数设置多少看任务是cpu密集还是IO密集队列为什么用LinkedBlockingQueue无界队列可能导致OOM线程预热线程默认不预热第一次任务来才创建线程需要预热需要设置prestartAllCoreThreads回收机制默认只回收非核心线程想要核心线程的话需要设置allowCoreThreadTimeoOut四、架构为啥这样设计用核心线程低成本处理常态流量用队列缓冲突发流量观察是否持续弹性扩容应付真实峰值最后防线拒绝策略防止系统被压垮提交任务│▼┌──────────────────────┐│ 当前线程数 核心线程数 │└──────────────────────┘│ 是 │ 否▼ ▼创建新线程执行任务 ┌────────────────┐│ 任务队列未满 │└───────────── ──┘│ 是 │ 否▼ ▼放入队列等待 ────────────────────┐│ 当前线程数 最大线程数 │└───────────────────┘│ 是 │ 否▼ ▼创建临时线程执行任务 执行拒绝策略

相关新闻