假设我们有一个JobItem
,它有两个字段jobId
和dbTableName
。 我们还有一个执行程序线程池4.带有跳过项目的Java优先级队列首先再处理
最初,执行程序将运行队列中的第一个作业项目。 如果后面的队列头有相同的dbTableName
说tableA,我想获得下一个队列项下一个没有相同dbTableName的作业项并首先执行它。
随着第一份工作可能需要很长的时间,我们最终可能已经处理与其他表的多个其他的工作项目,我们再次
处理TABLEA我们要确保对TableA的所有作业是按顺序处理之前。
我有另一个列表,它保持当前正在运行的作业列表。
目前,我看到只有通过迭代队列项目并检查当前正在运行的作业列表才能提供此类功能。
有没有更好的方法来实现这一目标?
谢谢
你可以使用一个FIFO结构,并在您的队列推回作业时,作业已经运行在桌子上使用相同的名称 – Nathan