Gee*_*eek 7 java atomic java.util.concurrent compare-and-swap
Java提供 AtomicInteger,AtomicLong等等,基本上编译成 CAS指令在硬件层面.但是,为什么这样AtomicXXX类不存在其他原始类型,如short和浮点数喜欢float和double?
你不能CAS不到一个字.AtomicBoolean是使用an实现的int,float可以使用int和double实现long.
AFAIK,这些是作为Doug Lea的并发库的一部分添加的,并且之前没有足够的需要使用这些类型的Atmoic版本.
恕我直言,AtomicDouble可能很有用,但float由于缺乏精确性,我尽量避免使用.