你好,
我是 linux 内核中 rcu 锁定机制的新手。
在尝试了解 rcu 的工作原理和提供的 API 时,我看到 rcu_read_lock()、rcu_synchronize() 不采用任何锁实例。那么,假设我有 n 个我想使用 RCU 保护的独立列表,读取和 synchronise() 是否保证按预期工作?
如果这个问题看起来太天真了,请原谅我
提前致谢。
最佳答案
不依赖互斥锁是使用 RCU(读取、复制、更新)的主要好处之一。每个 rcu_read_lock()
将确保在执行其 rcu_read_unlock()
之前,本地读取的数据不会被修改。 synchronize_rcu()
将阻塞所有前面的读取器以同步数据结构。
关于linux - 由 rcu 保护的多个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22461410/