CopyOnWrite容器

版权声明:本文为博主原创文章,未经博主允许不得转载。 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>();

    }
}

猜你喜欢

转载自blog.csdn.net/nangeali/article/details/82344602