6

次の機能を提供するWorkQueueAPIを探しています。

  • java.util.Queue互換性
  • オファー(オプション)セットセマンティック
  • 単一およびバッチ処理
  • 並行性(もちろん)
  • スケジューリング
  • さまざまな処理ポリシー
    • 次のスケジュールされた実行まで待つ
    • バッチサイズが満たされた場合、前処理
    • 処理の遅延(処理される前のキュー内の最小時間)
  • 永続性(オプション)

jdkには興味深い実装がたくさんあります。たとえばjava.util.DelayQueue、私が使用できるものなどです。車輪の再発明をしていないことを確認したかっただけです。

4

4 に答える 4

3

Quartz JobSchedulerAPIをご覧ください

クォーツの機能http ://www.quartz-scheduler.org/overview/features.html

java.util.Queueの互換性についてはよくわかりません。ただし、ジョブのスケジューリングと実行に関連するほとんどの機能を提供します。

于 2010-08-16T09:14:55.017 に答える
2

あなたはまだ受け入れる答えを探していますか?

あなたのニーズは、java.util.concurrentのエグゼキュータフレームワークを使用して最もよく満たされると思います。APIを参照してください(これが良いスタートです)。優れたサポートコミュニティがあります。concurrency-interestWebサイトで見つけることができます。枯れ木に興味がある場合は、Java Concurrency in Practice(JCiP)が優れたリソースを提供します。

エグゼキュータフレームワークを使用すると、タスクを(RunnablesまたはCallablesの形式で)作成でき、タスクを相互に同期または順序付けするためのいくつかのスキームが提供されます。

最後に、新しいForkJoin(FJ)インフラストラクチャは非常に使いやすく、ニーズに合う可能性があります。APIはここにあり、良い論文はここにあり、紹介記事はここにあります。

お役に立てれば。

JA

于 2010-08-25T16:38:45.263 に答える
1

短くてまっすぐな答え-いいえ。自分で展開する必要があります。そうしないと、他の人の実験の無料テスターとして機能することになります。したがって、少なくとも、大きくて未知の依存関係を受け入れるのではなく、すべてのコアパーツを理解し、完全に制御して、ニーズにぴったり合ったシステムを作成することに時間を費やすことができます。

于 2010-08-26T13:20:49.643 に答える
0

スケジューリング機能はありませんが、JDKにはjava.util.concurrent.SynchronousQueue便利な機能があります。

于 2010-08-24T18:38:05.733 に答える