如果两个线程具有相同的优先级,我正在寻找一种按优先级和先到先服务(FCFS)调度线程的方法。我正在考虑使用一堆队列或类似的东西。问题是,即使我实现了自己的优先级队列,更改优先级的能力也会破坏插入该队列的顺序。
为了解决这个问题,我可以节省每个线程的插入时间,并按插入时间对优先级队列进行排序(作为主要优先级参数的辅助参数),但我相信有一种数据结构的组合可以解决没有使用插入时间的问题。
复杂度应该是O(logN)
(有一些O(N)
复杂的天真的解决方案,例如有一个常规队列,并且每当我们必须弹出一个线程时迭代队列)。