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仍然为“猫猫”
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。