底层是用堆来实现。
1,按排序规则,从高优先级向低优先级取数据。
2,插入数据
3,获取最高优先级数据后,删除最高优先级数据。
golang 的优先级队列实现:
https://github.com/facebookarchive/pqueue
文档:
https://godoc.org/github.com/facebookgo/pqueue
参考
《STL源码剖析》,https://blog.csdn.net/MBuger/article/details/70665397
NSQ 源码分析, https://blog.csdn.net/skh2015java/article/details/83416045
有 leetCode 题,https://zhuanlan.zhihu.com/p/74210552