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