我试图了解 Linux 内核中的无锁列表。这是在 llist.h 中定义的。为什么他们有两个结构,来定义一个列表:
struct llist_head {
struct llist_node *first;
};
struct llist_node {
struct llist_node *next;
};
为什么不只有一个具有指向下一个节点的指针的结构呢?它类似于内核中的双向链表实现。
我试图了解 Linux 内核中的无锁列表。这是在 llist.h 中定义的。为什么他们有两个结构,来定义一个列表:
struct llist_head {
struct llist_node *first;
};
struct llist_node {
struct llist_node *next;
};
为什么不只有一个具有指向下一个节点的指针的结构呢?它类似于内核中的双向链表实现。