代码之家  ›  专栏  ›  技术社区  ›  whiskeysierra

有成熟的Java工作队列API吗?

  •  6
  • whiskeysierra  · 技术社区  · 14 年前

    我正在寻找提供以下功能的WorkQueue API:

    • java.util.Queue
    • 单批和批处理
    • 行程安排
    • 不同的处理策略
      • 等待下一个计划执行
      • 预处理,如果满足批量要求
      • 延迟处理(队列中处理前的最短时间)
    • 持久性(可选)

    java.util.DelayQueue 我可以用它。我只是想确保我没有重新发明轮子。

    4 回复  |  直到 12 年前
        1
  •  2
  •   Community Paul Sweatte    8 年前

    我想你的需要最好用 java.util.concurrent 的执行器框架。查看API( here's a good start ). 有一个很好的支持社区,你可以在 concurrency-interest web site . 如果你喜欢死树, Java Concurrency in Practice (JCiP) 提供了极好的资源。

    executor框架允许您创建任务(以runnable或Callables的形式),提供多个方案来同步或以其他方式排序彼此相关的任务。

    最后,新兴的ForkJoin(FJ)基础设施非常有用,可以满足您的需求。API是 here ,一个 good paper is here introductory article here .

    希望这有帮助。

        2
  •  3
  •   YoK    14 年前

    看一看 Quartz Job Scheduler API

    石英特征 http://www.quartz-scheduler.org/overview/features.html

    我不确定它的价值java.util.Queue兼容性。但它提供了与作业调度和执行相关的大部分功能。

        3
  •  1
  •   ZXX    14 年前

        4
  •  0
  •   Andy    14 年前

    尽管JDK没有任何调度功能,但它有 java.util.concurrent.SynchronousQueue 可能有用。