AtomicInteger,一个提供原子操作的Integer,是线程安全的。
多线程使用,计算线程数是否超出最大允许的线程数。
private AtomicInteger count = new AtomicInteger();
public void increment() {
count.incrementAndGet();
}
//使用AtomicInteger之后,不需要加锁,也可以实现线程安全。
public int getCount() {
return count.get();
}
可以避免多线程的优先级倒置和死锁情况发生,提升在高并发情况下的性能。
public final int get() //获取当前的值
public final int getAndSet(int newValue)//获取当前的值,并设置新的值
public final int getAndIncrement()//获取当前的值,并自增
public final int getAndDecrement() //获取当前的值,并自减
public final int getAndAdd(int delta) //获取当前的值,并加上预期的值