AtomicInteger.compareAndSet使用场景
时间: 2023-12-08 08:37:41 浏览: 75
Set及比较器的使用
`AtomicInteger.compareAndSet()` 方法是一个原子性的操作,它可以将一个期望值和一个新值作为参数,如果当前的值等于期望值,则将该值设置为新值。这个方法通常用于多线程环境下的并发控制,可以保证在多线程环境下对变量的操作是原子性的,从而避免了线程安全问题。
比如,我们可以使用 `AtomicInteger` 来实现一个计数器,多个线程可以同时对计数器进行操作,而不会出现线程安全问题。下面是一个示例代码:
```java
import java.util.concurrent.atomic.AtomicInteger;
public class Counter {
private AtomicInteger count = new AtomicInteger(0);
public void increment() {
count.incrementAndGet();
}
public int getCount() {
return count.get();
}
}
```
在上面的代码中,我们使用 `AtomicInteger` 类型的变量 `count` 来实现计数器,`increment()` 方法可以将计数器加一,而 `getCount()` 方法可以获取当前的计数值。由于 `AtomicInteger` 类型的变量是线程安全的,因此多个线程可以同时对计数器进行操作,而不会出现线程安全问题。
阅读全文