本文对于RCU的概念不进行解释. 考虑一种比较让人困惑的情形,就是在grace period期间,有新的读者进入,那么这个读者拿到的是新数据还是旧数据,查阅了很多资料都没找到答案,当然对于链表的情况这个很好理解,看到的就是添加新节点或者删除某个节点之后的情况,但是rcu保护的是数据而已呢,以下属于个人的理解. 首先,rcu保护的是指针,所以rcu知道哪个是新内存,哪个是旧内存.所以在宽限时期如果有新的读者出现,她拿到的是新内存,也就是他需要调用dereference得到新内存.而旧内存在前面的锁…