您的位置:首页 > 运维架构 > Linux

Linux同步锁机制分析

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