优先队列杂耍

时间:2011-11-22 13:12:26

标签: scheduling priority-queue

我有一个需要定期更新的项目集合。这些项目的权重在于某些项目必须比其他项目更频繁地提供服务。但是,我必须在一定时间内服务所有物品(即我不希望有物品最终永远不会被处理)。

如果所有项目具有相同的权重,则简单的FIFO就足够了。但是优先级较高的那些需要能够切入,因此我认为指示了优先级队列。问题是,什么决定了优先级?我认为它是加权的函数,也是自上次服务以来的时间。但是如何确定该函数的形式,以便没有项目停留在堆的底部?

1 个答案:

答案 0 :(得分:0)

我会根据他们在队列中的时间进行排序,然后按优先级加权排序。在队列中添加新项目时,应用基于时间的阈值,因此在添加新项目时,它不能高于超过队列中允许的最长时间的项目。

相关问题