Java并发集合类之CopyOnWriteArrayList学习
[TOC]
概述
从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite
机制实现的并发容器,它们是CopyOnWriteArrayList
和CopyOnWriteArraySet
。CopyOnWrite
容器非常有用,可以在非常多的并发场景中使用到。
CopyOnWriteArrayList是ArrayList的线程安全版本,从他的名字可以推测,CopyOnWriteArrayList是在有写操作的时候会copy一份数据,然后写完再设置成新的数据。CopyOnWriteArrayList适用于读多写少的并发场景。
那么什么是Copy-On-Write
Copy-On-Write
顾名思义,在计算机中就是当你想要对一块内存进行修改时,我们不在原有内存块中进行写
操作,而是将内存拷贝一份,在新的内存中进行写
操作,写
完之后呢,就将指向原来内存指针指向新的内存,原来的内存就可以被回收掉嘛!
CopyOnWriteArrayList源码
add()方法
1 | /** |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 麦溪·在路上!
评论
ValineDisqus