AtomicReference compareAndSet 的用法
时间: 2024-10-09 16:14:42 浏览: 29
JUC并发编程「公开课第二讲」.pdf
`AtomicReference(compareAndSet)` 是 Java 中 `java.util.concurrent.atomic.AtomicReference` 类提供的一个原子操作方法,它的作用是在当前引用值等于给定预期值时更新引用,并返回旧值。该方法的语法通常如下:
```java
V expectedValue;
V newValue;
boolean result = atomicReference.compareAndSet(expectedValue, newValue);
```
- `expectedValue`: 当前期望的引用值,如果当前引用值等于这个值,则操作成功。
- `newValue`: 新的引用值,打算设置到原子引用上。
- `result`: 返回值,表示操作是否成功。如果原值等于预期值,`compareAndSet` 成功并改变了引用,那么 `result` 就是 `true`;否则,就是 `false`。
这个方法常用于并发场景中,比如在多线程环境中对共享变量进行安全地设置和读取,因为它保证了在此过程中不会有其他线程看到中间状态。
阅读全文