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

浙公网安备 33010602011771号