有没有一个先进的Java WorkQueue API?

5
我正在寻找一个具备以下特点的WorkQueue API:
  • 兼容java.util.Queue
  • 提供(可选)集合语义
  • 单个和批处理
  • 并发性(当然)
  • 调度
  • 不同的处理策略
    • 等待下一次计划执行
    • 如果满足批量大小,则预处理
    • 延迟处理(在进入处理队列之前的最短时间内)
  • 持久性(可选)

在jdk中有很多有趣的实现,例如java.util.DelayQueue,我可以使用它。 我只是想确保我没有重复造轮子。

4个回答

3

1
Quartz 用于调度延迟任务,这不是我要找的。关于调度和延迟,我需要的是 Java 的 ScheduledExecutor,它提供了比 Quartz 更好的 API。 - whiskeysierra

2
您还在寻找答案吗?
我认为您最好使用`java.util.concurrent`的执行器框架来满足您的需求。请参阅API( 这是一个很好的开始 )。这里有一个出色的支持社区,您可以在并发兴趣网站上找到它。如果您喜欢纸质书籍,《Java并发实践》(JCiP)提供了一个很好的资源。
执行器框架允许您创建任务(以Runnable或Callable的形式),提供了几种方案来同步或以其他方式对任务进行排序。
最后,新兴的ForkJoin(FJ)基础架构非常可用,可能符合您的需求。 API在这里, 一篇好文章在这里, 和一篇介绍性文章在这里
希望这可以帮到您。
JA

1
简短而直接的回答是——不行。你必须自己开发,否则你只会成为别人实验的免费测试者。因此,至少你要花时间制作一个完全符合你需求的系统,了解所有核心部分并完全掌控,而不是承担大量未知依赖。

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接