Java类中AtomicReference简介说明

陈欣 Java经验 发布时间:2023-08-07 15:15:50 阅读数:15022 1
下文笔者讲述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仍然为“猫猫”
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202308/16913925747156.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者