您的位置:首页 > 编程语言 > Java开发

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的比率。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: