如何从阻塞队列中使用Task Executor消耗任务来实现公平性

时间:2018-11-25 13:04:36

标签: java producer-consumer

我想实现一个消费者服务,该服务正在处理队列中的任务。我已经使用执行程序服务实现的消费者服务/任务运行器。

但是,我需要处理的某些任务比其他任务花费的时间更长,并且我想在任务运行器中实现某种类型的公平性。当我调用/安排消费者时,我将知道队列中当前要执行的任务数。

我想知道实现这一目标的最佳方法是什么?

每个任务都有特定的类型和大约的执行时间。

1 个答案:

答案 0 :(得分:0)

您可以通过尝试任务优先级来调整资源使用,也可以强制将运行时间较长的任务定期休眠,强制它们执行其他任务。