0

タイマー駆動型でも、Quartz などのような cron スタイルのスケジューラーでもない Java スケジューリング フレームワークを探しています。ここには、タイマー駆動のスケジューラーに関する非常に多くの質問と回答がありますが、そのようなスケジューラーでは私の問題は解決しません。

私が抱えている問題は、それぞれが割り当てられたブロッキングキューからメッセージを取得する複数のスレッドがあることです。ブロッキング キューが空の場合、そこから読み取るスレッドはブロックされ、他のスレッドに割り当てることはできません。このようにして、システムが飢餓の問題に遭遇する可能性があります。このため、JDK5 スレッド プールは、ブロックされていないアイドル スレッドのみを、提供する必要がある別のキューに割り当てることができるため、適合しません。

インターネットで Hawt Dispatch を見つけましたが、これはまさに私が必要としているものですが、先物などの高度な機能は、私にとってより快適になり、Scala API を使用している場合にのみ利用できます。Hawt Dispatch に似た Java フレームワークを知っている人はいますか? どんなヒントでも大歓迎です。

よろしく、 オリバー

4

1 に答える 1

1

正直なところ、あなたが説明したことを実行するフレームワークは知りませんが、スレッドの実装を変更して、キューでブロックしないようにしたいと思います。

BlockingQueueキューがinterfaceを実装している場合でも、メソッドを使用してノンブロッキングで調べることができます。Queue#peek()

于 2012-09-01T16:28:21.270 に答える