Atomic

AtomicInteger/AtomicBoolean/AtomicLong/AtomicReference

AtomicIntegerArray/AtomicLongArray/AtomicReferenceArray

AtomicIntegerFieldUpdater/AtomicLongFieldUpdater/AtomicReferenceFieldUpdater

AtomicMarkableReference/AtomicStampedReference

 

AtomicMarkableReference类描述的一个<Object,Boolean>的对,可以原子的修改Object或者Boolean的值,这种数据结构在一些缓存或者状态描述中比较有用。这种结构在单个或者同时修改Object/Boolean的时候能够有效的提高吞吐量。

 

AtomicStampedReference类维护带有整数“标志”的对象引用,可以用原子方式对其进行更新。对比AtomicMarkableReference类的<Object,Boolean>,AtomicStampedReference维护的是一种类似<Object,int>的数据结构,其实就是对对象(引用)的一个并发计数。但是与AtomicInteger不同的是,此数据结构可以携带一个对象引用(Object),并且能够对此对象和计数同时进行原子操作。

 

AtomicInteger vs AtomicIntegerFieldUpdater

一般情况下用AtomicInteger足够了

http://stackoverflow.com/questions/6671020/java-atomic-access-to-field-within-object

 

http://www.javamex.com/tutorials/synchronization_concurrency_7_atomic_updaters.shtml

posted on 2014-01-29 11:46  ukouryou  阅读(241)  评论(0编辑  收藏  举报

导航