CAS

作者: hehehehe | 来源:发表于2020-06-21 11:26 被阅读0次

Cas依赖于Unsafe类中的cpmpareAndSwapInt方法实现原子操作
Unsafe是cas的核心类,java无法直接访问底层操作系统,java的Unsafe类提供了硬件级别的原子操作
valueOffset是变量值在内存中的偏移地址

AtomicInteger静态代码块加载Unsafe工具类,用来直接操作内存,并且用volatile修饰value字段,保证可见性,getAndAddInt()

CAS缺点

ABA问题,只知道对比结果,不知道到底有没有被修改过,可以使用数据库版本号记录修改过程
自旋耗资源
依赖于cpu的原子指令

相关文章

网友评论

      本文标题:CAS

      本文链接:https://www.haomeiwen.com/subject/axioxktx.html