通用技术-CAS与乐观锁(自旋锁)
Contents
博客园 X-knight [数据库锁机制] 深入理解乐观锁、悲观锁以及CAS乐观锁的实现机制原理分析
CAS概念
CAS(Compare and Swap)是乐观锁的一种实现技术
具体实现就是
|
|
ABA问题
线程1在获取内存中val和给val赋值之间的时间,线程2将val赋值为其他值然后在变回expectVal
解决办法:版本号,时间戳
自旋锁
自旋锁是一种乐观锁,技术也是CAS
线程在自旋过程中通过CAS来查询是否可以获得锁
|
|