AtomicInteger使用详解
- 1、get():获取当前AtomicInteger对象的值。
- 2、set(int newValue):将AtomicInteger对象的值设置为指定的newValue。
- 3、getAndSet(int newValue):先获取当前AtomicInteger对象的值,然后将对象的值设置为指定的newValue。
- 4、compareAndSet(int expect, int update):比较当前对象的值与expect是否相等,如果相等,则将对象的值设置为update。
- 5、getAndIncrement():获取当前AtomicInteger对象的值,并将对象的值加1。
- 6、getAndDecrement():获取当前AtomicInteger对象的值,并将对象的值减1。
- 7、incrementAndGet():将当前AtomicInteger对象的值加1,并返回增加后的值。
- 8、decrementAndGet():将当前AtomicInteger对象的值减1,并返回减少后的值。
- 9、addAndGet(int delta):将指定的delta值加到当前AtomicInteger对象的值上,并返回增加后的值。
- 10、getAndAdd(int delta):获取当前AtomicInteger对象的值,并将指定的delta值加到对象的值上。
AtomicInteger是Java中提供的一种线程安全的原子操作类,用于在多线程环境下对整数进行原子操作。常用的方法如下:
1、get():获取当前AtomicInteger对象的值。
AtomicInteger的get()方法用于获取当前值。
以下是一个示例代码,演示了如何使用AtomicInteger的get()方法:
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerDemo {
public static void main(String[] args) {
AtomicInteger counter = new AtomicInteger(0);
// 获取当前值
int currentValue = counter.get();
System.out.println("Current value: " + currentValue);
}
}
在上面的示例中,我们创建了一个AtomicInteger对象counter,并将其初始化为0。然后,我们使用get()方法获取当前值,并将其打印出来。
2、set(int newValue):将AtomicInteger对象的值设置为指定的newValue。
AtomicInteger的set(int newValue)方法用于将AtomicInteger对象的值设置为指定的新值newValue。
以下是一个示例代码,演示了如何使用AtomicInteger的set()方法:
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerDemo {
public static void main(String[] args) {
AtomicInteger counter = new AtomicInteger(0);
// 设置新值
counter.set(10);
System.out.println("New value: " + counter.get());
}
}
在上面的示例中,我们创建了一个AtomicInteger对象counter,并将其初始化为0。然后,我们使用set()方法将其值设置为10,并使用get()方法获取新的值,并将其打印出来。
3、getAndSet(int newValue):先获取当前AtomicInteger对象的值,然后将对象的值设置为指定的newValue。
AtomicInteger的getAndSet(int newValue)方法用于获取当前AtomicInteger对象的值并设置为指定的新值newValue。它是一个原子操作,确保在多线程环境下的原子性和线程安全。
以下是一个示例代码,演示了如何使用AtomicInteger的getAndSet()方法:
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerDemo {
public static void main(String[] args) {
AtomicInteger counter = new AtomicInteger(0);
// 获取当前值并设置新值
int oldValue = counter.getAndSet(10);
System.out.println("Old value: " + oldValue);
System.out.println("New value: " + counter.get());
}
}
在上面的示例中,我们创建了一个AtomicInteger对象counter,并将其初始化为0。然后,我们使用getAndSet()方法获取当前的值,并将其设置为10。getAndSet()方法返回的是旧的值,我们将其打印出来。然后,我们使用get()方法获取新的值,并将其打印出来。
4、compareAndSet(int expect, int update):比较当前对象的值与expect是否相等,如果相等,则将对象的值设置为update。
AtomicInteger的compareAndSet(int expect, int update)方法是一个原子操作,用于比较当前AtomicInteger对象的值是否与期望值expect相等,如果相等,则将其值设置为update。如果不相等,不会进行更新操作。
以下是一个示例代码,演示了如何使用AtomicInteger的compareAndSet()方法:
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerDemo {
public static void main(String[] args) {
AtomicInteger counter = new AtomicInteger(0);
// 比较并设置新值
boolean success = counter.compareAndSet(0, 10);
System.out.println("Operation success: " + success);
System.out.println("New value: " + counter.get());
}
}
在上面的示例中,我们创建了一个AtomicInteger对象counter,并将其初始化为0。然后,我们使用compareAndSet()方法比较当前的值是否为期望值0,并将其设置为新值10。compareAndSet()方法返回一个布尔值,表示操作是否成功。我们将其打印出来。然后,我们使用get()方法获取新的值,并将其打印出来。
5、getAndIncrement():获取当前AtomicInteger对象的值,并将对象的值加1。
AtomicInteger的getAndIncrement方法是一个原子操作,用于获取当前AtomicInteger对象的值,并将其递增1。返回的是递增前的值。
以下是一个示例代码,演示了如何使用AtomicInteger的getAndIncrement方法:
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerDemo {
public static void main(String[] args) {
AtomicInteger counter = new AtomicInteger(0);
// 获取当前值并递增
int value = counter.getAndIncrement();
System.out.println("Old value: " + value);
System.out.println("New value: " + counter.get());
}
}
在上面的示例中,我们创建了一个AtomicInteger对象counter,并将其初始化为0。然后,我们使用getAndIncrement()方法获取当前的值,并将其递增1。getAndIncrement()方法返回的是递增前的值,我们将其打印出来。然后,我们使用get()方法获取新的值,并将其打印出来。
6、getAndDecrement():获取当前AtomicInteger对象的值,并将对象的值减1。
AtomicInteger的getAndDecrement方法是一个原子操作,用于获取当前AtomicInteger对象的值,并将其递减1。返回的是递减前的值。
以下是一个示例代码,演示了如何使用AtomicInteger的getAndDecrement方法:
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerDemo {
public static void main(String[] args) {
AtomicInteger counter = new AtomicInteger(5);
// 获取当前值并递减
int value = counter.getAndDecrement();
System.out.println("Old value: " + value);
System.out.println("New value: " + counter.get());
}
}
在上面的示例中,我们创建了一个AtomicInteger对象counter,并将其初始化为5。然后,我们使用getAndDecrement()方法获取当前的值,并将其递减1。getAndDecrement()方法返回的是递减前的值,我们将其打印出来。然后,我们使用get()方法获取新的值,并将其打印出来。
7、incrementAndGet():将当前AtomicInteger对象的值加1,并返回增加后的值。
AtomicInteger的incrementAndGet方法是一个原子操作,用于将AtomicInteger对象的值递增1,并返回递增后的值。
以下是一个示例代码,演示了如何使用AtomicInteger的incrementAndGet方法:
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerDemo {
public static void main(String[] args) {
AtomicInteger counter = new AtomicInteger(5);
// 递增并获取新值
int value = counter.incrementAndGet();
System.out.println("New value: " + value);
}
}
在上面的示例中,我们创建了一个AtomicInteger对象counter,并将其初始化为5。然后,我们使用incrementAndGet()方法将其值递增1,并将递增后的值存储在变量value中。最后,我们将新的值打印出来。
8、decrementAndGet():将当前AtomicInteger对象的值减1,并返回减少后的值。
AtomicInteger的decrementAndGet方法是一个原子操作,用于将AtomicInteger对象的值递减1,并返回递减后的值。
以下是一个示例代码,演示了如何使用AtomicInteger的decrementAndGet方法:
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerDemo {
public static void main(String[] args) {
AtomicInteger counter = new AtomicInteger(5);
// 递减并获取新值
int value = counter.decrementAndGet();
System.out.println("New value: " + value);
}
}
在上面的示例中,我们创建了一个AtomicInteger对象counter,并将其初始化为5。然后,我们使用decrementAndGet()方法将其值递减1,并将递减后的值存储在变量value中。最后,我们将新的值打印出来。
9、addAndGet(int delta):将指定的delta值加到当前AtomicInteger对象的值上,并返回增加后的值。
AtomicInteger的addAndGet方法是一个原子操作,用于将AtomicInteger对象的值加上指定的增量,并返回加上增量后的值。
以下是一个示例代码,演示了如何使用AtomicInteger的addAndGet方法:
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerDemo {
public static void main(String[] args) {
AtomicInteger counter = new AtomicInteger(5);
// 增加指定的增量并获取新值
int value = counter.addAndGet(3);
System.out.println("New value: " + value);
}
}
在上面的示例中,我们创建了一个AtomicInteger对象counter,并将其初始化为5。然后,我们使用addAndGet()方法将其值增加3,并将增加后的值存储在变量value中。最后,我们将新的值打印出来。
10、getAndAdd(int delta):获取当前AtomicInteger对象的值,并将指定的delta值加到对象的值上。
AtomicInteger的getAndAdd方法是一个原子操作,用于获取AtomicInteger对象的当前值,并将指定的增量添加到该值上。
以下是一个示例代码,演示了如何使用AtomicInteger的getAndAdd方法:
import java.util.concurrent.atomic.AtomicInteger;
public class AtomicIntegerDemo {
public static void main(String[] args) {
AtomicInteger counter = new AtomicInteger(5);
// 获取当前值并增加指定的增量
int value = counter.getAndAdd(3);
System.out.println("Previous value: " + value);
System.out.println("New value: " + counter.get());
}
}
在上面的示例中,我们创建了一个AtomicInteger对象counter,并将其初始化为5。然后,我们使用getAndAdd()方法获取当前值并将其增加3,并将获取的旧值存储在变量value中。最后,我们将旧值和新的增加后的值打印出来。