lock free 算法学习笔记

  为了提高并发访问的性能,很多人提出了lock free算法。它的原理是避免了由于锁导致线程进入等待状态造成的开销,而且避免了锁导致的死锁,signal等问题。但是很多人指出lock free 算法在高度竞争的情况下效果不好。我没有测试过,目前现成的库有libcds。

   lock free使用cas, faa等原子指令实现,有时也使用cas2指令,主要是为了解决aba问题。(aba问题的描述见维基百科http://en.wikipedia.org/wiki/ABA_problem)。


 参考资料:

http://blog.csdn.net/pennyliang/article/details/5993138

http://blog.csdn.net/pennyliang/article/details/6020992

http://www.research.ibm.com/people/m/michael/podc-1996.pdf

http://bbs.iieeg.com/viewthread.php?tid=354

http://hi.baidu.com/ah__fu/blog/item/9c5b1236934f84240b55a92b.html


  待研究问题:cas2的实现




你可能感兴趣的:(lock free 算法学习笔记)