如何合理的配置线程池参数: 思考该问题首先明确两个任务类型的概念
- CPU密集:该任务需要进行大量的计算,但是并没有阻塞,CPU在全速的运行。值得注意的是CPU密集型的任务只有在真正的多核CPU上才能更好的发挥作用(多线程技术),单核的CPU模拟多线程并不能提高任务的执行速度,因为CPU 的计算能力是有限的。
- IO密集:指的是该任务的IO操作,也就是说会存在阻塞的情况。这种任务会导致CPU浪费很多时间在等待上,因此这种类型的任务使用多线程技术能更好的提高计算集的任务执速度,即使是单核的计算机采用模拟多线程技术也能减少CPU等待IO的阻塞时间。
- 具体配置参考如下:
- CPU密集型任务=CPU核数+1
- IO密集型任务 = 2*CPU核数
来源:oschina
链接:https://my.oschina.net/u/3670669/blog/3195873