后端岗位面试题更新 2026-08-05

CPU 密集型任务为什么建议设置线程数为 N+1 而不是 10N?

BOSS直聘后端开发互联网/IT技术原理方案权衡问题排查

考察说明

考察对 CPU 密集型任务线程池配置原理的理解,以及能否区分 CPU 密集与 I/O 密集场景

回答思路

  1. 能明确说明 CPU 密集型任务主要受计算资源限制,线程数应接近 CPU 核心数
  2. 能解释为何线程数设为 10N 会导致频繁上下文切换、降低吞吐量
  3. 能区分 I/O 密集型任务与 CPU 密集型任务在线程数配置上的不同策略
  4. 能结合具体场景给出合理的线程数设定建议
  5. 能说明 N+1 中留出一个线程的原因(少量系统开销或偶发阻塞)