原子类概览

 
Java SDK 并发包里提供的原子类内容很丰富,我们可以将它们分为五个类别:原子化的基本数据类型、原子化的对象引用类型、原子化数组、原子化对象属性更新器和原子化的累加器。这五个类别提供的方法基本上是相似的,并且每个类别都有若干原子类,你可以通过下面的原子类组成概览图来获得一个全局的印象。
 
1. 原子化的基本数据类型
 
相关实现有 AtomicBoolean、AtomicInteger 和 AtomicLong,提供的方法主要有以下这些
 1 getAndIncrement()    //    原子化    i++
 2 getAndDecrement()    //    原子化的    i--
 3 incrementAndGet()    //    原子化的    ++i
 4 decrementAndGet()    //    原子化的    --i
 5 //当前值+=delta,返回 += 前的值
 6 getAndAdd(delta)    
 7 //当前值 +=delta,返回 +=  后的值
 8 addAndGet(delta)
 9 //CAS操作,返回是否成功
10 compareAndSet(expect, update)
11 //以下四个⽅法
12 //新值可以通过传 func  函数来计算
13 getAndUpdate(func)
14 updateAndGet(func)
15 getAndAccumulate(x,func)
16 accumulateAndGet(x,func)

猜你喜欢

转载自www.cnblogs.com/amberJava/p/12390959.html