优先级队列
优先级列表,就是在插入链表时,要考虑链表元素的某个特征值。在内核中优先级列表由两个双链表组合实现。
单个的样子
其中
prio表示元素的优先级
prio_list是优先级链表元素
node_list是整个链表元素
乍一看觉得为啥要两个链表,从下面整体的图上会看得比较清楚。
整体的样子
内核开发者给优先级列表画了图:
意思是
prio_list是链接没有优先级中第一个元素的链表
node_list则是所有的元素都会链接的链表
不知道是不是讲清楚了,不过实现上就是这么有意思。
常用API
plist_add()
plist_del()
主要就是这两个,没啥花花肠子。
Last updated