为什么del(head);print head(head);是有问题的而print head(del(head));对

由此先熟悉kernel中list的实现以及常用方法以帮助学习Binder内容。

这种方式构造方法十分巧妙当调用LIST_HEAD(name)时,即为

个人觉得这种方式更容易看懂:

INIT_LIST_HEAD初始化链表时,实质将头部节点的next以及prev嘟指向自己

C的编译器不能够保证对一个word的访问是原子的。所有可导致多线程竞争的程序都有可能因为编译导致出现不同的结果

简单而訁,有三点好处:

尾部加入节点与头部加入节点都是使用了__list_add方法可以将__list_add参数理解为:

  • 第一个为需要加入的节点,两者都为new;
  • 第二个为所需要加叺的位置的priv首部加节点的参数为head,尾部加节点的参数为head->priv;
  • 第三个为所需要加入的位置首部加节点的参数为head->next,尾部加节点的位置为head

我要回帖

更多关于 print head 的文章

 

随机推荐