应该来说,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预测的那样,并发技术将进入主流,这个过程会持续数年。



温少 2006-11-14 21:24 发表评论


文章来源:http://www.cnblogs.com/jobs/archive/2006/11/14/560416.html
posted on 2006-11-20 02:08 温少的日志 阅读(197) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: