Javaの固定スレッドプールの拡張機能を使用したい状況があります。私はリソースのために競争したい実行可能なオブジェクトのN個のグループを持っています。しかし、私はスレッドの総数を一定のままにしておきたいと思います。ここで私がこれを動作させる方法を概説します。競合キューを持つJava Threadpool
- N個のスレッドとM個のキューを持つオブジェクトを割り当てます。
- キューm上のジョブnをスケジュールします。
- 最初のキューへのポインタを持ちます を繰り返します。 a。最大スレッド数が現在使用中の場合は待機します。 b。現在のキューでジョブをポップオフします。 c。ポインタを1つ上のキューに移動する(または最後のキューから最初のキューに移動)
まず、このようなものは既に存在しますか?二番目になければ、私自身のスレッドプールを書くことが危険であるかもしれないことを知っているので、私は自分自身を書くことに心配しています。誰かが自分のことを書くための良い例を教えてくれるでしょうか。
Doug Leaさんのフォークジョインはここで助けになりますか? –
残念ながら私は現在Java 6に限定されています。 fork-joinはJava 7でしかないようです。 – Jon
Mキューは、1つのキューには何を与えていないのですか? –