2

私の英語は苦手です。しかし、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 ファイルが解凍されると、各エントリ ファイルが実行され、それらのスレッドプールで暗号化されます。[ 解凍 -> 暗号化(プール) -> zip ]

EclipseでUNITテスト(unzip->encrypt->zipのみ)を行ったところ、シーケンシャル処理(私の古いプロジェクト)に対して良好なパフォーマンス(30%以上)を示しました。しかし、プロジェクトが Jboss にデプロイされた後、部分 (unzip->encrypt->zip) のパフォーマンスは、逐次処理でわずかに改善 (5%) または同等を示しました。低いこともありました。*Linux および Windows でテスト済み

結果がそのように表示される理由を知りたいです。私はそれを整理する必要があります..キュー LinkedBlockingQueue を他のキューに変更できますか?? タスクスレッドは非同期で実行できますか??

答えかヒントを教えてください..

歓声メイト!!!

4

1 に答える 1

2

ほとんどの場合、共有リソースを最大限に使用しています。たとえば、ディスクまたは第 3 レベルのキャッシュに対して読み書きできる速度などです。これらのことが原因で、より多くの CPU を効率的に使用できなくなる可能性があります。問題を解決するには、ボトルネックが何であるかを解決します。

于 2013-02-05T07:41:54.900 に答える