一篇文章带你弄懂乐观锁与悲观锁,CAS原子性,synchronized底层原理
文中加入了个人理解,如有不准确的地方欢迎提出,笔者会及时的进行改正。
乐观锁与悲观锁
乐观锁: 假设数据不会发生冲突,只有在进行数据更新的才会对数据进行检查,如果冲突则更新失败并返回错误信息
悲观锁: 悲观锁与乐观锁恰恰相反,它是假设资源每次都会被修改,所以在访问资源之前都会进行上锁,这样其他人想要访问资源的时候就会被阻塞,直到锁被释放。
CAS
CAS(Compare And Swap)是乐观锁的一种实现方式。
通过 CAS 实现的轻量级锁会在想要更新变量时判断线程内存中的变量与公共内存中的变量值是否相
原创
2021-11-25 14:06:54 ·
9784 阅读 ·
0 评论