文章目录
一、RCU 机制
二、RCU 机制的优势与弊端
三、RCU 机制的链表应用场景
一、RCU 机制
----
RCU , 英文全称是 " Read-Copy-Update “ , 对应的中文名称是...” 读取-拷贝-更新 “ , 这是 Linux 内核中的 ” 同步机制 " ;
Linux 内核中还有其它同步机制 , 如 " 原子操作 " , " 读写信号量 " 等 " 锁机制 " ;
RCU 机制...机制的优势与弊端
----
RCU 的优势是 " 读者 " ( 读取共享数据的线程 ) 不需要承担同步开销 ,
同步开销指的是 : ① 获取 " 锁 " , ② 执行 " 原子指令 " , ③ 执行..." 内存屏障 " ;
与此相对的 RCU 机制也有一定弊端 , " 写者 " ( 修改共享数据的线程 ) 需要 承担很大的同步开销 , 其需要
① 延迟对象释放 ,
② 读取 并 复制 共享数据 ,
③...必须使用 互斥锁 机制 ;
三、RCU 机制的链表应用场景
----
RCU 机制 可以极大地 提高 " 链表 " 数据结构的 读取效率 ,
多个线程 同时读取 链表 时 , 使用 rcu_read_lock