AtomicInteger和int比较大小
时间: 2023-12-28 16:25:05 浏览: 297
Java中对AtomicInteger和int值在多线程下递增操作的测试
AtomicInteger和int都可以比较大小,但是它们在多线程环境下的行为是不同的。
1. 使用int比较大小:
```java
int num1 = 10;
int num2 = 20;
if (num1 < num2) {
System.out.println("num1 is smaller than num2");
} else if (num1 > num2) {
System.out.println("num1 is greater than num2");
} else {
System.out.println("num1 is equal to num2");
}
```
2. 使用AtomicInteger比较大小:
```java
AtomicInteger num1 = new AtomicInteger(10);
AtomicInteger num2 = new AtomicInteger(20);
if (num1.get() < num2.get()) {
System.out.println("num1 is smaller than num2");
} else if (num1.get() > num2.get()) {
System.out.println("num1 is greater than num2");
} else {
System.out.println("num1 is equal to num2");
}
```
需要注意的是,AtomicInteger是线程安全的,它提供了一些原子操作方法,如`get()`用于获取当前值,`compareAndSet()`用于比较并设置新值。而int是非线程安全的,如果在多线程环境下对int进行递增操作,可能会出现线程安全问题。
阅读全文