atomicinteger 用法
时间: 2023-05-22 14:06:28 浏览: 181
AtomicInteger 是 Java.util.concurrent 包中提供的一个原子类,用于保证并发环境下整型数据的原子性操作。主要用途包括自增、自减、加法、减法等操作。它的常用方法包括 get() 、 set() 、 getAndSet() 、 incrementAndGet() 、 decrementAndGet() 等。我们可以使用 AtomicInteger 来保证数据的安全性和正确性。
相关问题
AtomicInteger 用法
AtomicInteger是一个Java类,它提供了一种原子方式更新整数类型的值。它可以保证在多线程环境下对整数类型的值进行原子性更新,避免了线程安全问题。下面是AtomicInteger的用法示例:
```java
// 创建一个初始值为10的AtomicInteger对象
AtomicInteger ai = new AtomicInteger(10);
// 对AtomicInteger对象的值进行原子性加2操作
int result = ai.addAndGet(2);
// 输出结果
System.out.println(result); // 输出:12
```
在上面的示例中,我们首先创建了一个初始值为10的AtomicInteger对象,然后使用addAndGet()方法对其进行原子性加2操作,最后输出结果12。需要注意的是,AtomicInteger对象的值是通过方法调用进行原子性更新的,而不是直接对其进行赋值操作。
AtomicInteger 使用
AtomicInteger是Java中一个原子操作类,用于原子性地更新整型变量。它提供了一些原子性的方法,例如incrementAndGet()、decrementAndGet()、getAndIncrement()、getAndDecrement()等,这些方法可以保证在多线程环境下对整型变量的操作是原子性的,不会出现线程安全问题。
示例代码如下:
```
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerTest {
private static AtomicInteger count = new AtomicInteger(0);
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
new Thread(() -> {
for (int j = 0; j < 1000; j++) {
count.incrementAndGet();
}
}).start();
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("count = " + count.get());
}
}
```
在上面的示例代码中,我们创建了一个AtomicInteger类型的count变量,并将其初始化为0。然后启动了10个线程,每个线程对count变量执行了1000次incrementAndGet()方法,最后输出count的值,可以看到输出结果为10000,说明AtomicInteger确实保证了多线程环境下对整型变量的原子性操作。
阅读全文