JAVA中的AtomicReference

一,介绍:AtomicReference:提供了一个可原子读写的引用变量。

意味着:多个线程同事操作一个AtomicReference的时候,不会导致数据的不一致。它提供了一个芳芳 compareAndSet 方法,可以比较引用

与预期值,如果相等,则将引用更新为新的引用。

二,代码测试:

String intiString = "init String";
String newString = "new String";

/**  创建一个 初始引用,引用“init String” */
AtomicReference<String> reference = new AtomicReference<String>(intiString);

String string = reference.get(); //获取当前引用
System.out.println(string);

/**   reference对象的当前引用与预期值 initString 进行比较。如果相等,则将reference的引用更新为 newString */
boolean flag = reference.compareAndSet(intiString, newString);

string = reference.get();  //获取当前引用
System.out.println(string);
System.out.println(flag);  //reference对象的当前引用与目标值的比较结果,boolean类型
        
boolean flag2 = reference.compareAndSet(newString, intiString);
string = reference.get();
System.out.println(string);
System.out.println(flag2);

  结果:

init String
new String
true
init String
true

  

posted @ 2020-08-13 14:59  404UnknownCoder  阅读(503)  评论(0)    收藏  举报