【发布时间】:2010-12-20 11:48:59
【问题描述】:
linux内核的list.h线程安全吗?
【问题讨论】:
标签: multithreading kernel linked-list
linux内核的list.h线程安全吗?
【问题讨论】:
标签: multithreading kernel linked-list
不,list_head 结构体不包含任何锁,操作绝不是原子的。
你可以亲眼看到here,这里没有提到锁定机制等。
【讨论】:
只需阅读实现;在作家面前,答案显然是否定的。 (不可变数据的多个读取器是安全的。)
Paul McKenney 在非常有用的 LWN 上提供了一个 introduction to RCU,您可以从中收集一些有关管理链表的线程安全更新的技巧。当然,你的用法可能很简单,自旋锁就足够了。
【讨论】: