Linux同步锁机制分析

    RCU,Read-Copy Update,读-拷贝修改,对于被RCU保护的共享数据结构,读者不需要任何锁就可以访问而写者需要拷贝一个副本,对副本进行修改,最后用一个CallBack在合适的时机把指向原来数据的指针指向新的被修改的数据。这个时机就是所有引用该数据的CPU退出对共享数据的操作。在这个过程中,垃圾收集器负责来探测读者的信号,当所有读者发出信号不再使用被RCU访问的数据时,就调用CallBack完成最后的数据修改或释放操作。RCU主要适用读多写少的情况,比如网络设备中路由标的查询更新、设备状态标的维护。。。读者没有开销,写者的开销取决于他们之间的同步机制。RCU有个前提,就是读者在访问被RCU保护的共享数据期间不能被阻塞,也即发生读者所在CPU上下文切换,SpinLock也是如此。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值