我只是想知道如何在java中定义fixedthreadpool的大小?
你是否随意选择10,100,16,32,1024这样的数字,然后查看内存以查看满载时它是否正常?
我正在考虑根据可用内核数量来定义大小
我的想法是,如果一个线程在1个核心上需要100%的功率,那么cpu将无法处理比其核心数更多的线程:
例如:双核cpu>>>的newFixedThreadPool(2)
四核>>>的newFixedThreadPool(4)
然而,如果一个线程占用核心的10%cpu功率,那么它是否相关呢?
1 / 0.1 *核心数量=> newFixedThreadPool(20)用于双核?
感谢您的回答/意见
答案 0 :(得分:0)
根据萨拉瓦纳的链接,
ExecutorService e = Executors.newFixedThreadPool(Runtime.getRuntime()。availableProcessors());
似乎是要走的路