• 技术文章 >java >java基础

    java中CopyOnWriteArrayList是什么

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

    概念

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

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

    实例

    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学习网