《Java 线程池最佳实践 》5.正确配置线程池参数 关于IO密集型参数配置 2N的计算方式比较模糊,主要由于网上和书上没有统一权威的答案。 2N可能可以, 更严谨的计算的方法应该为 最佳线程数= **CPU核数∗[1+(I/O耗时/CPU耗时)]** 注意公式中 CPU核数应该为逻辑核数,也就是cpu支持的并行线程数。 公式很好理解,I/O耗时/CPU耗时这种算法,cpu的时间片利用率会达到100%,多出1的原因和cpu密集型同理为了防止线程偶尔失效。