java如何定义newFixedThreadPool的大小

时间:2015-10-20 02:53:08

标签: java multithreading size pool cpu-cores

我只是想知道如何在java中定义fixedthreadpool的大小?

你是否随意选择10,100,16,32,1024这样的数字,然后查看内存以查看满载时它是否正常?

我正在考虑根据可用内核数量来定义大小

我的想法是,如果一个线程在1个核心上需要100%的功率,那么cpu将无法处理比其核心数更多的线程:

例如:双核cpu>>>的newFixedThreadPool(2)

四核>>>的newFixedThreadPool(4)

然而,如果一个线程占用核心的10%cpu功率,那么它是否相关呢?

1 / 0.1 *核心数量=> newFixedThreadPool(20)用于双核?

感谢您的回答/意见

1 个答案:

答案 0 :(得分:0)

根据萨拉瓦纳的链接,

ExecutorService e = Executors.newFixedThreadPool(Runtime.getRuntime()。availableProcessors());

似乎是要走的路