liburcu,一个用户态的RCU实现

在上一篇RCU的介绍里面,我们基本了解了RCU是如何实现Reader无锁的。 而由于RCU最开始是从Linux kernel里面实现的,kernel里面的实现非常依赖于整个内核的运行机制(比如Scheduler,软中断等),所以要把它port出来在用户态使用的话,难度并不小。 所 […]

Read-Copy Update,向无锁编程进发!

在无锁编程的世界里,ABA问题是一个没有办法回避的实现问题。就看看实现一个最简单的基于单链表的stack都有这么多的坑,就知道无锁编程有多难。 难道我们追求高性能的道路就被这个拦路虎挡住了? No,我们有Read-Copy Update(RCU)这个法宝,帮助我们方便的实现很多的 […]