Java 基于不同逻辑的优先级队列实现

Java 基于不同逻辑的优先级队列实现,java,scalability,priority-queue,Java,Scalability,Priority Queue,我在优先级作业队列上有以下逻辑 对于作业属性X-如果X=1,则给予X=2的作业更多的优先级 对于作业属性Y-如果Y=1,则为Y=2的作业赋予不同的优先级 在比较X和Y对象时,给X一个比Y更大的优先级 工作中有小组。每个作业组将指定一个组名。一次只能处理组中的N个作业 工作的数量可以达到任何百万 哪种队列实现最适合超出要求?听起来不必要的复杂。你厌倦了仅仅使用一个简单的ExecutorService并添加任务组而不是数百万个任务吗?所有这些实现都在主内存中,所以对我没有帮助。如果我在{x=1,

我在优先级作业队列上有以下逻辑

  • 对于作业属性X-如果X=1,则给予X=2的作业更多的优先级
  • 对于作业属性Y-如果Y=1,则为Y=2的作业赋予不同的优先级
  • 在比较X和Y对象时,给X一个比Y更大的优先级
  • 工作中有小组。每个作业组将指定一个组名。一次只能处理组中的N个作业
  • 工作的数量可以达到任何百万

哪种队列实现最适合超出要求?

听起来不必要的复杂。你厌倦了仅仅使用一个简单的ExecutorService并添加任务组而不是数百万个任务吗?所有这些实现都在主内存中,所以对我没有帮助。如果我在{x=1,x=2,y=1,y=2}的情况下翻译你的例子,它们无论如何都会崩溃。执行顺序如下:->x=1,x=2,y=1,y=2。我想知道为什么不使用优先级1-4合并X和Y?@VineethMohan我试图找出您希望通过复杂优先级队列实现的目标,而简单的实现无法实现。例如,您的建议将使用更多内存,因此更可能崩溃。