0

分配给 Executors.newFixedThreadPool(n) 的适当值应该是什么?有没有这样做的公式?

4

1 回答 1

0

这取决于。如果您要执行的任务主要受 CPU 限制(即一项任务将能够使一个 CPU 核心保持 100% 连续运行),那么您不太可能从大于核心数量的线程池中获得太多收益在你的机器上。但是,如果任务将大部分时间用于 I/O,那么更大的池将更好地利用可用的 CPU 容量。

没有简单的答案,您必须使用不同的池大小来分析您的应用程序,以找到您正在使用的特定任务组合的最佳位置。

于 2013-07-12T08:06:43.063 回答