Java并发编程---CopyOnWriteArrayList

来源:互联网 发布:剑网三咩萝捏脸数据 编辑:程序博客网 时间:2024/06/03 15:51

CopyOnWriteArrayList用于替代同步List,在某些情况下它提供了更好的并发性能,并且在迭代期间不需要对容器进行加锁或复制。(类似的,CopyOnWriteArraySet的作用是替代同步Set)。

具体CopyOnWriteArrayList的实现原理,请参考下面这篇博文:
http://www.cnblogs.com/dolphin0520/p/3938914.html

CopyOnWrite容器的优缺点及适用场景:
每当修改容器时都会复制底层数组,这需要一定的开销,特别是当容器的规模较大时。仅当迭代操作远远多于修改操作时,才应该使用“写入时复制”容器。这个准则很好地描述了许多事件通知系统:在分发通知时需要迭代已注册监听器链表,并调用每一个监听器,在大多数情况下,注册和销毁事件监听器的操作远少于接收事件通知的操作。


参考文献:
《Java并发编程实战》