Java 并发编程之线程池的使用
2014-12-12 19:27
681 查看
设置线程池的大小
如果线程池过大,那么可能会耗尽资源 ,如果过小,那么 将导致许多空闲的处理器无法工作,从而降低吞吐率。要设置正确的线程池大小,需要分析计算环境,资源预算和任务的特性,cpu数量,内存大小,任务是计算密集型还是I/O密集型,还是二者皆可。它们是否需要像JDBC连接这样的稀缺资源,下面给出一个计算公式N(threads)=N(cpu)*U(cpu)*(1+w/c);N(threads)是最后得到的结果大小 。N(cpu)是cpu数量,我的电脑是双核四线程,cpu的数量会是4,可以通过 System.out.println(Runtime.getRuntime().availableProcessors());来得到cpu数量U(cpu)是目标cpu使用率,取决于程序员的期望,一般在50%左右。这个值限制在0到1之间w/c是wait time/compute time的比率。
相关文章推荐
- java并发编程-线程池的使用
- Java并发编程:线程池的使用
- Java 并发编程之线程池的使用 (三)
- 深入学习java并发编程:线程池ThreadPoolExecutor实现以及使用
- Java 并发编程之线程池的使用 (二)
- (转)Java并发编程:线程池的使用方法
- (转)Java并发编程:线程池的使用方法
- Java并发编程实战 - 第8章 线程池的使用
- 10 Java并发编程5-线程池的使用
- Java并发编程之线程池的理解与使用
- Java并发编程:线程池的使用
- Java并发编程:线程池的使用
- Java并发编程:线程池的使用
- @Java并发编程:线程池的使用
- Java并发编程:线程池的使用
- Java并发编程:线程池的使用
- Java并发编程:线程池的使用
- Java并发编程:线程池的使用
- Java 并发编程之线程池的使用 (三)
- Java 并发编程之线程池的使用(一)