JavaAtomicInteger的用法 JavaAtomicInteger的⽤法 1、java.util.concurrent.atomic 的包⾥有AtomicBoolean, AtomicInteger,AtomicLong,AtomicLongArray,AtomicReference等原⼦类的类,主要⽤于在⾼并发环境下的⾼效程序处理,来帮助我们
importjava.util.concurrent.atomic.AtomicInteger;publicclassAtomicIntegerExample{privatestaticAtomicInteger counter=newAtomicInteger(0);publicstaticvoidmain(String[]args){for(int i=0;i<10;i++){newThread(()->{for(int j=0;j<1000;j++){counter.incrementAndGet();}}).start();}try{Thread.sleep(1000)...
publicclassMain{publicstaticvoidmain(String[]args){//初始值为100的atomic IntegerAtomicInteger atomicInteger=newAtomicInteger(100);System.out.println(atomicInteger.addAndGet(2));//加2并返回102System.out.println(atomicInteger);//102System.out.println(atomicInteger.getAndAdd(2));//先获取102,再加2System...
Java 中的 AtomicInteger 是一个原子类,用于实现对整数类型的原子操作。它提供了一系列方法,如 get()、set()、incrementAndGet()、compareAndSet() 等,可以在多线程环境下安全地进行原子操作。通过使用 AtomicInteger,可以避免使用显式的锁来保护共享整数变量,从而提高并发性能。它适用于许多并发场景,如计数器、标记位...
AtomicInteger:整型原子类; AtomicLong:长整型原子类; 这三种方式用法几乎相同,都是以原子更新的方式操作基本类型,我们在这里以AtomicInteger为例看一下它的使用与原理。 1)AtomicInteger的常用方法 publicfinalintget()//获取当前的值 publicfinalintgetAndSet(intnewValue)//获取当前的值,并设置为newValue ...
AtomicInteger方法的介绍: 1.get/set方法 AtomicInteger atomicInteger = new AtomicInteger(); atomicInteger.get(); //获取当前值 atomicInteger.set(999); //设置当前值 2.compareAndSet方法 atomicInteger.compareAndSet//对比两个值的是否一致 3.getAndAdd()方法与AddAndGet方法 AtomicInteger atomicInteger = new ...
*@seeAtomicInteger#getAndSet(int) 设置指定的数据,返回设置前的数据 * *@seeAtomicInteger#addAndGet(int) 增加指定的数据后返回增加后的数据 *@seeAtomicInteger#decrementAndGet() 减少1,返回减少后的值 *@seeAtomicInteger#incrementAndGet() 增加1,返回增加后的值 ...
Atomic类的常见用法 AtomicInteger AtomicInteger是一个可以原子更新的int值。它提供了诸如incrementAndGet()、getAndDecrement()和getAndSet()等方法,用于原子地更新整数值。 importjava.util.concurrent.atomic.AtomicInteger;publicclassAtomicIntegerExample{privatestaticfinalAtomicIntegercounter=newAtomicInteger(0);publicstatic...
定义:AtomicInteger是一个提供原子操作的Integer类,通过线程安全的方式操作加减。 使用场景:适合高并发情况下的使用 AtomicInteger是在使用非阻塞算法实现并发控制,在一些高并发程序中非常适合,但并不能每一种场景都适合,不同场景要使用使用不同的数值类。 注意:高并发的情况下,i++无法保证原子性,往往...