CopyOnWriteArrayList 可以用於什么應用場景?


CopyOnWriteArrayList(免鎖容器)的好處之一是當多個迭代器同時遍歷和修改這

個列表時,不會拋出 ConcurrentModificationException。在

CopyOnWriteArrayList 中,寫入將導致創建整個底層數組的副本,而源數組將保

留在原地,使得復制的數組在被修改時,讀取操作可以安全地執行。

1、由於寫操作的時候,需要拷貝數組,會消耗內存,如果原數組的內容比較多的

情況下,可能導致 young gc 或者 full gc;

2、不能用於實時讀的場景,像拷貝數組、新增元素都需要時間,所以調用一個 set

操作后,讀取到數據可能還是舊的,雖然 CopyOnWriteArrayList 能做到最終一致

,但是還是沒法滿足實時性要求;

CopyOnWriteArrayList 透露的思想

1、讀寫分離,讀和寫分開

2、最終一致性

3、使用另外開辟空間的思路,來解決並發沖突


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM