经典指数          
原因
3157
浏览数
0
收藏数
 

无锁化编程有哪些常见方法?
  • 针对计数器,可以使用原子加
  • 只有一个生产者和一个消费者,那么就可以做到免锁访问环形缓冲区(Ring Buffer)
  • RCU(Read-Copy-Update),新旧副本切换机制,对于旧副本可以采用延迟释放的做法
  • CAS(Compare-and-Swap),如无锁栈,无锁队列等待

     举报   纠错  
 
切换
1 个答案

最朴素最简单的原语

 

CAS(compare-and-swap)

 

操作即可以完成所有的无锁功能,其他的如

 

LL/SC (load linked/store conditional)

 

 
切换
撰写答案