Java类中AtomicReference简介说明
下文笔者讲述AtomicReference简介说明,如下所示
AtomicReference简介说明
Atomic家族成员的功能:
用于保证多线程环境下的原子性
Atomic相对于synchronized而言更加轻量级
如:
常用的是AtomicInteger
对Integer类型操作的封装
AtomicReference的功能:
对普通对象的封装
例:AtomicReference示例
//定义User类
@Data
@AllArgsConstructor
public class User {
private String name;
private Integer age;
}
使用 AtomicReference 初始化,并赋值
public static void main( String[] args ) {
User user1 = new User("test124", 18);
User user2 = new User("猫猫", 28);
User user3 = new User("狗狗", 19);
//初始化为 user1
AtomicReference<User> atomicReference = new AtomicReference<>();
atomicReference.set(user1);
//user2 赋给 atomicReference
atomicReference.compareAndSet(user1, user2);
System.out.println(atomicReference.get());
//user3 赋给 atomicReference
atomicReference.compareAndSet(user1, user3);
System.out.println(atomicReference.get());
}
----运行以上代码,将输出以下信息
User(name=猫猫, age=28)
User(name=猫猫, age=28)
相关说明
atomicReference的初始值是user1,所以调用compareAndSet(user1, user2) 由于user1==user1,所以会把user2赋给atomicReference。此时值为“猫猫” 第二次调用atomicReference.compareAndSet(user1, user3) 由于user2 != user1,所以set失败。atomicReference仍然为“猫猫”
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


