copyonwriteArrayList的lock锁

Posted otways

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了copyonwriteArrayList的lock锁相关的知识,希望对你有一定的参考价值。

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();
        }

其中的  volatile关键字:
保证系统内存一致性

举个例子:多个cpu,cpu1执行了update+1操作,cpu2做修改时会拉取内存要修改的数,保证update+1时内存成功修改

以上是关于copyonwriteArrayList的lock锁的主要内容,如果未能解决你的问题,请参考以下文章

CopyOnWriteArrayList 的具体介绍

CopyOnWriteArrayList

Java多线程系列--“JUC集合”02之 CopyOnWriteArrayList

CopyOnWriteArrayList,CopyOnWriteArraySet源码分析

CopyOnWriteArrayList 源码解读

Java集合 CopyOnWriteArrayList