プロジェクトの一環として、固定数のスレッドを含むスレッドプールを作成する必要があります。スレッドが異なるプロセスに割り当てられるたびに、スレッドと一緒にその数のセッションも割り当てる必要があります。ConcurrentLinkedQueue(固定の)を使用したいサイズ)スレッドが完了したときにセッションをキューに戻し、他のプロセスで使用できるようにするためにセッションを保存します。要件が明確になっていることを願っています...誰かが私にいくつかのquidelineを与えることができますかこれをどのように実装できるか..?ConcurrentLinkedQueueをどのように使用できるか..?
1133 次
2 に答える
1
私はあなたがと同じことをしたいと思います
Executors.newFixedThreadPool(n);
このスレッドプールを使用しない理由は明らかではありません。
また、キューをオブジェクトプールとして使用したいようです。add()
toとを使用しpoll()
て、無料の要素が使用可能かどうかを確認できます。
于 2011-02-28T12:26:57.573 に答える
0
スレッドが異なるプロセスに割り当てられるときはいつでも..。
ConcurrentLinkedQueueを使用して、異なるプロセスのスレッド間でリソースを共有することはできません。1つのプロセスのスレッドからのみアクセスできます。
これが問題でない場合は、スレッドプールを使用できます。
Executors.newFixedThreadPool(int nThreads, ThreadFactory threadFactory)
ThreadFactoryは、 ThreadLocalを使用して、セッションリソースをスレッドプールによって管理されるスレッドに関連付けることができます。さまざまな初期化戦略を構成できます。スレッドプールがシャットダウンしたときにセッションをクリーンアップすることを忘れないでください。
于 2011-02-28T12:26:18.493 に答える