现在的位置: 首页 > 综合 > 正文

关于Atomic

2011年10月04日 ⁄ 综合 ⁄ 共 419字 ⁄ 字号 评论关闭
应该来说,util.concurrent包中提供的atomic,包括两部分:

1、atomic值对象,例如AtomicInteger、AtomicLong等。常用作计数器。
2、AtomicReference
3、一些内部使用Lock提供的compareAndSet操作。例如ConcurrentHashMap的putIfAbsent。

.NET中也提供了类似的功能,InterLocked类提供着完全的能力。

这是一种思想,提供原子操作,把两个以上的操作合并,使得调用者不需要使用Lock,使得程序结构变得简单,减少出错的可能,包括减少死锁发生的可能,程序也因此获得更好的性能。

将会有更多的数据结构支持atomic操作,JDK 1.5提供了支持atomic操作的ConcurrentMap、JDK 1.6提供了支持atomic的ConcurrentNavigableMap。

如同Herb Sutter预测的那样,并发技术将进入主流,这个过程会持续数年。

抱歉!评论已关闭.