List 之 CopyOnwriteArrayList
2021-12-03 本文已影响0人
是归人不是过客
数据结构同ArrayList, 数组array
写时加锁复制:ReentrantLock保证线程安全,修改数组之前先将数组拷贝一份,操作新数组,并赋值给array,旧数组丢弃。
读操作无锁:读的时旧数组,写不会堵塞读,读写分离。
弱一致性:写操作会生成新的数组,读的数据可能已经修改,迭代器也是弱一致性,读的时快照。
数据结构同ArrayList, 数组array
写时加锁复制:ReentrantLock保证线程安全,修改数组之前先将数组拷贝一份,操作新数组,并赋值给array,旧数组丢弃。
读操作无锁:读的时旧数组,写不会堵塞读,读写分离。
弱一致性:写操作会生成新的数组,读的数据可能已经修改,迭代器也是弱一致性,读的时快照。