如何在newfixedthreadpool中获得更多性能?

时间:2013-02-05 04:43:26

标签: java threadpool

我的英语不好。但我需要知道newfixedthreadpool的。

enter code here
ExecutorService executorService = new FixedThreadPool().newFixedThreadPool(4);
.....
public class FixedThreadPool {
        private ExecutorService newFixedThreadPool(int nThreads) {   
            return new ThreadPoolExecutor(nThreads, nThreads,   
                    0L, TimeUnit.MILLISECONDS,   
                    new LinkedBlockingQueue<Runnable>());   
        }

}
.....
executorService.execute(new CoreThreadPool(list, resCountClass));

当zip文件解压缩时,每个条目文件都在这些线程池中执行和加密。 [解压缩 - &gt;加密(池) - &gt;拉链]

当我在eclipse中进行UNIT测试(只有unzip-&gt; encrypt-&gt; zip)时,它对顺序处理(我的旧项目)表现出了良好的性能(高出30%)。 但是在Jboss中部署项目之后,部分(unzip-&gt;加密 - > zip)的性能在顺序处理方面表现略好(5%)或相同。有时它更低。 *在Linux和Windows上测试

我想知道结果为何如此显示。我需要把它整理出来.. 我可以将队列LinkedBlockingQueue更改为另一个?? 任务线程可以通过asynchronus ??

运行

请,给出答案或提示..

干杯队友!!!

1 个答案:

答案 0 :(得分:2)

您最有可能使用共享资源,例如:您可以读取和写入磁盘或三级缓存的速度。这些东西可能会阻止您有效地使用更多的CPU。为了解决这个问题,你找出了你的瓶颈。