版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nangeali/article/details/82344602
CopyOnWrite
也称为COW,写时复制容器
用于程序设计中的优化策略
JDK中COW容器,有两种
CopyOnWriteArrayLIst
CopyOnWriteArraySet
COW容器
非常有用,可以在非常多的并发场景中使用
当往一个容器添加元素的时候,不直接往当前容器添加
而是,先将当前容器进行Copy,复制出一个新的容器
然后,新的容器里添加元素
实现过程
如果,有读取操作,读取原容器,不需要加锁
添加完成之后,再将原容器的引用,指向新的容器
优点
可以对CopyOnWrite容器,进行并发的读,而不需要加锁
因为,当前容器不会添加任何元素,写操作是复制出来一份,进行添加元素
读写分离
这也是一种读写分离的思想
读和写,在不同的容器
package com.bjsxt.base.coll013;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CopyOnWriteArraySet;
public class UseCopyOnWrite {
public static void main(String[] args) {
CopyOnWriteArrayList<String> cwal = new CopyOnWriteArrayList<String>();
CopyOnWriteArraySet<String> cwas = new CopyOnWriteArraySet<String>();
}
}