核心思想:
1、延迟删除、旧数据回收;牺牲写者性能来提高读者性能。
2、读者接近零消耗。(可能需要开关中断或抢占等一些操作。比如在rcu_read_lock中只禁用了抢占,无其他操作,相比读写锁的读锁更高效,读写锁还需要原子操作)
3、所有cpu使用度过一个宽限期则删除旧数据。(不同场景宽限期计算方式不一样,常见的有以上下文切换或软中断为参考表示一个cpu度过宽限期)
//linux内核实现较复杂,有兴趣可研究源码。
参考:
https://blog.youkuaiyun.com/lianhunqianr1/article/details/119259755?ops_request_misc=&request_id=ce95be517e9241ee8ffb71b5e8cd010a&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2blogkoosearch~default-2-119259755-null-null.268v1control&utm_term=RCU&spm=1018.2226.3001.4450
https://zhuanlan.zhihu.com/p/386422612
http://www.taodudu.cc/news/show-959794.html?action=onClick