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