设置线程池的最佳线程数

1,449 阅读1分钟

Java编程实践中 理论

概念

Nthreads =Ncpu * Ucpu * (1+w/c)

Nthreads:线程数

Ncpu:CPU核心数

Ucpu:Cpu使用率,0~1

w:等待时间

c:计算实践

Java 虚拟机并发编程 理论

Nthreads = Ncpu /(1-阻塞系数)

阻塞系数取值0~1,计算密集型任务为0,IO密集型为1

实践

Java Ncpu获取 Runtime.getRuntime().availableProcessors()

IO密集型=2Ncpu

计算密集型=Ncpu