CopyOnWriteArrayList 是 Java 中的一个线程安全的列表实现。
其原理主要是:当对列表进行修改操作(如添加、删除、更新元素)时,它不是直接在原有的数组上进行修改,而是先复制一个新的数组,在新数组上进行修改操作,修改完成后将原有的引用指向新的数组。
这种方式的优点在于:读操作不加锁,因此读操作的性能很高。因为多个线程并发读时,不会因为有写操作而被阻塞。
然而,它也存在一些缺点:
1. 内存占用较大,每次修改都要复制数组。
2. 数据一致性问题,由于读操作可能读取到旧的数据,所以不能保证实时的强一致性。
在实际应用中, CopyOnWriteArrayList 适用于读多写少且对数据一致性要求不高的场景。
CopyOnWriteArrayList解析
236

被折叠的 条评论
为什么被折叠?



