概念
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中文網其他相關文章!