2015-10-20 33 views
0

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

你是否隨意選擇一個數字,如10,100,16,32,1024,然後看看內存是否滿負荷狀態?

我正在考慮定義根據可用核心

的數量大小

我的想法是,如果一個線程需要在1芯100%的功率由能夠在CPU不會處理比它的內核數量更多的線程:

例如:雙核CPU >>>的newFixedThreadPool(2)

四核>>>的newFixedThreadPool(4)

然而,如果一個線程需要像芯的10%的CPU功率,是它然後相關去做

1/0.1 *核心數=> newFixedThreadPool(20)爲雙核?

謝謝您的回答/意見

+3

請參閱http://stackoverflow.com/questions/1980832/java-how-to-scale-threads-according-to-cpu-cores?rq=1 – Saravana

+0

方式謝謝,那就是我一直在尋找的 –

回答

0

據toSaravana的鏈接,

ExecutorService的E = Executors.newFixedThreadPool(調用Runtime.getRuntime()availableProcessors());

好像是去