使用GUI元素的线程池中的线程数

时间:2019-05-28 17:35:56

标签: java multithreading

我对性能有疑问, 我有一个包含10个GUI元素的程序,并且我同时使用线程池运行它们,因为我使用10个线程,但是我想优化该程序,并且我读到可以使用PC拥有的内核数量和它会产生相同的效果,所以我用了这个:

if(competition.getActiveCompetitors().size()>Runtime.getRuntime().availableProcessors())
                 numberOfThreads=Runtime.getRuntime().availableProcessors();
            else
                numberOfThreads=competition.getActiveCompetitors().size();
            es = Executors.newFixedThreadPool(numberOfThreads); 

competition.getActiveCompetitors.size()是10个gui元素(可能会因用户输入而异),我使用Runtime.getRuntime()。availableProcessors()来确定线程池的数量,例如我有4个,所以当我运行10个元素时,只有4个运行,而其他4个也运行完之后,有没有办法让整个10个元素以4个线程运行?或者我在想这一切都错了

0 个答案:

没有答案