首頁 > Java > java教程 > 主體

如何使用java的CopyOnWriteArrayList?

PHPz
發布: 2023-05-09 22:55:25
轉載
1407 人瀏覽過

概念

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?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板