0

Linux カーネルのロックレス リストを理解しようとしています。これは llist.h で定義されています。リストを定義するために、なぜ 2 つの構造体があるのですか。

struct llist_head {
    struct llist_node *first;
};

struct llist_node {
    struct llist_node *next;
};

次のノードへのポインターを持つ構造体を 1 つだけ持たないのはなぜですか? これは、カーネルでの二重リンク リストの実装に似ています。

4

1 に答える 1