如何确定线程池中线程数量

2020-07-22  本文已影响0人  CHMAX
参数定义:

N_{cpu} = CPU 数量
U_{cpu} = CPU 使用率,0 \leq U_{cpu} \leq 1
\frac{W}{C} = 等待时间与计算时间的比率

计算公式:

{N_{threads} = N_{cpu} * U_{cpu} * \left(1+\frac{W}{C}\right)}

假设 CPU 一直处于使用状态,可以简化为:

N_{threads} = N_{cpu} * \left(1+\frac{W}{C}\right)

总结:

一、计算密集型:假定 W = 0,则 W/C = 0。

N_{threads} = N_{cpu}

二、IO密集型:偷懒计算的情况下,可以保守认为 W/C = 1。

N_{threads} = N_{cpu} * (1+1) = 2N_{cpu}

上一篇 下一篇

猜你喜欢

热点阅读