乐观锁CAS的aba问题
解决方案:
判断交换,就是交换,添加一个版本号
如果在判断完成我在进行改的过程又被打断了,怎么办?
硬件本身就支持cas,并不一定本身就是原子性,java的natave ,c++里面实行,lock cmpxchg 是锁,
1.关中断
2.缓存锁,存在对象大于缓存
3,锁总线,北桥电平拉高,
在java中markword的对象内存中有三种东西,有垃圾回收期里面的,有
synchronized有锁升级
解决方案:
判断交换,就是交换,添加一个版本号
如果在判断完成我在进行改的过程又被打断了,怎么办?
硬件本身就支持cas,并不一定本身就是原子性,java的natave ,c++里面实行,lock cmpxchg 是锁,
1.关中断
2.缓存锁,存在对象大于缓存
3,锁总线,北桥电平拉高,
在java中markword的对象内存中有三种东西,有垃圾回收期里面的,有
synchronized有锁升级