线程安全的集合

List:
CopyOnWriteArrayList:

线程安全的ArrayList,加强版的读写分离。适用于读多写少的场景。
斜入式加锁,读取时不加锁,读写之间不阻塞,优于读写锁。 在有写操作的时候会先将ArrayList复制出来一份,更新新的ArrayList,之后将原本的ArrayList引用指向新的ArrayList。

使用方式与ArrayList无异。

Set:

CopyOnWriteArraySet:
 
线程安全的Set,底层通过CopyOnWriteArrayList实现。

唯一不同就是,使用addIfAbsent()添加元素,会遍历数组。

如果存在元素,则不添加。

 

posted @ 2022-12-29 02:45  Amireux-126  阅读(10)  评论(0)    收藏  举报