来源
Brian Goetz和同事们为线程池的大小的优化提出的建议!
线程池大小
公式:线程数 = 处理器核数 * 期望cpu的利用率 * (1 + 等待时间 / 计算时间)
注意:处理器核数 = Runtime.getRuntime().availableProcessors();
期望cpu的利用率 应该介于0到1之间
建议
(等待时间 / 计算时间)的值大约在100的时候,CPU利用率是100%,越可以分配400个线程(4核的机器),当然要看实际情况线程过多也是一种浪费,一般上限是100,根据实际情况进行分配;