AIRobot

AIRobot quick note


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

RCU API

发表于 2019-12-07
本文字数: 581 阅读时长 ≈ 1 分钟

RCU(Read-Copy Update),是 Linux 中比较重要的一种同步机制。顾名思义就是“读,拷贝更新”,再直白点是“随意读,但更新数据的时候,需要先复制一份副本,在副本上完成修改,再一次性地替换旧数据”。这是 Linux 内核实现的一种针对“读多写少”的共享数据的同步机制。

CU由三种基础机制构成,第一个机制用于插入,第二个用于删除,第三个用于让读者可以不受并发的插入和删除干扰。分别是:

  • 发布/订阅机制,用于插入。

  • 等待已有的RCU读者完成的机制,用于删除。

  • 维护对象多个版本的机制,以允许并发的插入和删除操作。

类别 发布 删除 订阅
指针 rcu_assign_pointer rcu_assign_pointer rcu_dereference
链表 list_add_rcu list_add_tail_rcu list_replace_rcu list_del_rcu list_for_each_entry_rcu
哈希链表 hlist_add_head_rcu hlist_add_tail_rcu hlist_add_before_rcu hlist_add_behind_rcu hlist_replace_rcu hlist_del_rcu hlist_for_each_entry_rcu
本福特定律和齐夫定律
ldd,nm,readelf,ar,objdump
AIRobot

AIRobot

AIRobot quick note
130 日志
15 分类
23 标签
GitHub E-Mail
Creative Commons
0%
© 2023 AIRobot | 716k | 10:51