AtomicReference 原子引用

简介: 1.简介 赋值操作不是线程安全的。若想不用锁来实现,可以用AtomicReference<V>这个类,实现对象引用的原子更新。 使用场景:一个线程使用student对象,另一个线程负责定时读表,更新这个对象。那么就可以用AtomicReference这个类。 java.util.concurrent.atomic.AtomicReference<V> 类的名

1.简介

赋值操作不是线程安全的。若想不用锁来实现,可以用AtomicReference<V>这个类,实现对象引用的原子更新。

使用场景:一个线程使用student对象,另一个线程负责定时读表,更新这个对象。那么就可以用AtomicReference这个类。

java.util.concurrent.atomic. AtomicReference<V>
类的名字。

2.常用方法

java.util.concurrent.atomic.AtomicReference. AtomicReference(V initialValue)
构造函数。
V java.util.concurrent.atomic.AtomicReference. get()
返回当前的引用。
boolean java.util.concurrent.atomic.AtomicReference. compareAndSet(V expect, V update)

如果当前值与给定的expect相等,(注意是引用相等而不是equals()相等),更新为指定的update值。

V java.util.concurrent.atomic.AtomicReference.getAndSet(V newValue)

原子地设为给定值并返回旧值。

void java.util.concurrent.atomic.AtomicReference.set(V newValue)

注意此方法不是原子的。不明白为什么要提供这个方法,很容易误用。

目录
打赏
0
0
0
0
14
分享
相关文章
如何理解符号引用和直接引用?
如何理解符号引用和直接引用?
68 11
如何理解符号引用和直接引用?
【重学C++】【引用】一文看懂引用的本质与右值引用存在的意义
【重学C++】【引用】一文看懂引用的本质与右值引用存在的意义
227 0
C++特性——引用与指针详解
C++特性——引用与指针详解
常量引用的概念
常量引用的概念
54 0
<c++> &引用概念 | 引用用法 | 引用与指针区别
<c++> &引用概念 | 引用用法 | 引用与指针区别
212 0
为什么C++既有指针又有引用?
为什么C++既有指针又有引用?
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别(一)
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别
141 0
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别(二)
【是C++,不是C艹】 引用的概念 | 引用的使用 | 引用与指针的区别
118 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等