- CPU密集型任务:
- 公式:线程数 = CPU核心数 + 1
- 理由:CPU密集型任务主要使用CPU计算资源,线程数略多于CPU核心数可以保证CPU在等待线程切换时还有额外的线程可以执行,从而保持CPU的高效利用。
- IO密集型任务:
- 公式:线程数 = CPU核心数 * (1 + 等待时间/计算时间)
- 另一个常用的简化公式:线程数 = CPU核心数 * 2
- 理由:IO密集型任务花费大量时间在等待IO操作完成,此时CPU是空闲的,因此可以利用更多的线程来提高CPU利用率。
#最佳实践 摸鱼指数越高的活,CPU 数量的系数就可以越大,让这些 CPU 频繁切换,不浪费资源