zoukankan      html  css  js  c++  java
  • AtomicStampedReference

    重要的参考博客:

    https://blog.csdn.net/zhaozhirongfree1111/article/details/72781758

    package _AtomicStampedReference;
    
    import java.util.concurrent.atomic.AtomicMarkableReference;
    import java.util.concurrent.atomic.AtomicStampedReference;
    
    public class MyAtomicStampedReference {
        public static void main(String[] args) {
            //对在AtomicReference上面,通过计数的方式,解决了ABA的问题
            B b = new B();
            b.setStr("old b");
            AtomicStampedReference<B> aAtomicStampedReference = new AtomicStampedReference<B>(b,0);
            System.out.println(aAtomicStampedReference.getReference().getStr()+"" +aAtomicStampedReference.getStamp());
    
            //更改里面的b的值
            b.setStr("new b");
            //设置预期的类和现在的类,预期的版本号与现在的版本号,如果预期与当前的符合就更改。
            aAtomicStampedReference.compareAndSet(b,b,0,1);
    
            System.out.println(aAtomicStampedReference.getReference().getStr()+"" +aAtomicStampedReference.getStamp());
    
            //===========================================================
            B b1 = new B();
            b1.setStr("old b1");
            AtomicMarkableReference<B> atomicMarkableReference = new AtomicMarkableReference<>(b1,false);
            System.out.println(atomicMarkableReference.getReference().getStr()+",,"+atomicMarkableReference.isMarked());
            b1.setStr("new b1");
            atomicMarkableReference.compareAndSet(b1,b1,false,true);
            System.out.println(atomicMarkableReference.getReference().getStr()+",,"+atomicMarkableReference.isMarked());
    
    
        }
    }
    old b,0
    new b,1
    old b1,,false
    new b1,,true
  • 相关阅读:
    Oracle 11g db_ultra_safe参数
    How To Configure NTP On Windows 2008 R2 (zt)
    Brocade光纤交换机密码重置 (ZT)
    perl如何访问Oracle (ZT)
    Nagios check_nrpe : Socket timeout after 10 seconds
    oracle10g单机使用ASM存储数据
    Xmanager无法连接Solaris10 (ZT)
    Solaris10配置iscsi initiator
    oracle 11g dataguard 创建过程
    Nagios check_procs pst3 报错
  • 原文地址:https://www.cnblogs.com/da-peng/p/9920491.html
Copyright © 2011-2022 走看看