什么是CAS?
Unsafe类:
自旋锁
CAS:比较当前内存中的值和主存中的值,如果这个值是期望的,则执行操作! 如果不是就一直循环
缺点:
1)循环会耗时
2)一次性只能保证一个共享变量的原子性
3)ABA问题:
代码示例:
由此引入 原子引用 解决ABA问题
对应的思想就是:乐观锁
代码示例:
输出结果如下:
什么是CAS?
Unsafe类:
自旋锁
CAS:比较当前内存中的值和主存中的值,如果这个值是期望的,则执行操作! 如果不是就一直循环
缺点:
1)循环会耗时
2)一次性只能保证一个共享变量的原子性
3)ABA问题:
代码示例:
对应的思想就是:乐观锁
代码示例:
输出结果如下: