线程池
线程的最佳数量Nthreads=NcpuUcpu(1+w/c)
.
怎么理解呢?
假如每个线程的cpu时间为c, io时间为w(w大于c, 此处假设为3), 我们把cpu时间作为一个时间单位.
那么cpu运行要1份时间, io要3份时间. 假如有1个cpu, 那么当某个线程在占用cpu时间时, 剩下的3个线程各自在占用自己的第i(i = 1, 2, 3)份时间. 所以需要1+w/c个线程.
jdk8
- JDK8 十大新特性详解 函数式编程、Stream、Optional
- Collections新增方法