• 技术文章 >java >java基础

    java中CopyOnWriteArrayList是什么

    小妮浅浅小妮浅浅2021-07-12 09:45:53原创2869

    概念

    1、CopyOnWriteArrayList是Java并发包中提供的并发容器,是一种线程安全、阅读操作无锁的ArrayList,通过创建底层数组的新副本来实现写作操作,是一种读写分离的并发策略,我们也可以称之为“写时复制”。

    2、CopyOnWriteArrayList允许并发阅读,读不加锁,最重要的是写作时不影响阅读,因为写作时复制原数组在新的数组操作,根本不影响原数组。只有多个写作是同步的。我认为它与数据库的多版并发机制非常相似。

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    public boolean add(E e) {

            final ReentrantLock lock = this.lock;

            lock.lock();

            try {

                Object[] elements = getArray();

                int len = elements.length;

                Object[] newElements = Arrays.copyOf(elements, len + 1);

                newElements[len] = e;

                setArray(newElements);

                return true;

            } finally {

                lock.unlock();

            }

        }

    以上就是java中CopyOnWriteArrayList的介绍,希望对大家有所帮助。更多Java学习指路:Java基础

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    专题推荐:java
    上一篇:java HashMap的不安全分析 下一篇:java异步和同步的区别

    相关文章推荐

    • java实例变量是什么?• java类变量是什么?• java条件语句是什么?• java while语句如何使用?• java中do-while语句是什么?• java中for语句是什么意思?• java continue语句是什么?• java中break语句是什么?• java switch语句是什么?• java注解有哪些作用• java线程池中类的继承探究• java Worker类怎么用?• java如何定义变量• java算术运算符有哪些?• java有几种位运算

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网