线程安全的集合
List:
CopyOnWriteArrayList:
线程安全的ArrayList,加强版的读写分离。适用于读多写少的场景。
斜入式加锁,读取时不加锁,读写之间不阻塞,优于读写锁。
在有写操作的时候会先将ArrayList复制出来一份,更新新的ArrayList,之后将原本的ArrayList引用指向新的ArrayList。
使用方式与ArrayList无异。
Set:
CopyOnWriteArraySet:
线程安全的Set,底层通过CopyOnWriteArrayList实现。
唯一不同就是,使用addIfAbsent()添加元素,会遍历数组。
如果存在元素,则不添加。

浙公网安备 33010602011771号