优先队列的真实世界示例是什么?

What is real world example for priority queue?

我正在编写一个无锁 C 库,我将要实现一个优先级队列。然而,我的库的目标不是数据结构的完整性,我只是想实现一些典型的,然后写一个微基准来表明无锁的在某些特殊情况下比基于锁的表现更好.所以我想知道是否有一些典型的应用程序优先级队列起着重要的作用。 (开源项目最好。)然后我可以将它们作为基准。

列举几个: 1. Dijkstra’s Shortest Path Algorithm 2. Prim’s algorithm 3. Huffman codes for Data compression. 4. Heap sort 5. Load balancing on servers.

在 :
中指出了各种应用程序 https://www.cdn.geeksforgeeks.org/applications-priority-queue/

此外,wiki 本身有一个广泛的应用程序和参数列表,您可以根据这些列表进行比较(请参阅 运行 次摘要部分): https://en.wikipedia.org/wiki/Priority_queue

Priority queues 与队列的不同之处在于它们 不遵循 FIFO 原则。

...The elements of the priority queue are ordered according to their natural ordering, or by a Comparator provided at queue construction time...

一个真实世界的例子是Priority Scheduling算法,其中每个作业都被分配了一个优先级,优先级最高的作业首先被调度

我在现实生活中看到的优先级队列最常见的用途是:

1) 优先工作队列:当线程准备好进行更多工作时,它会从优先队列中选择最高优先级的可用任务。这是一个很棒的无锁队列应用。

2) 找到最接近给定位置的 restaurants/hotels/bathrooms/whatever。从几乎所有空间数据结构中检索这些的算法使用优先级队列。