CopyOnWriteArrayList与ConcurrentHashMap的特点

本文详细解析了并发容器ConcurrentHashMap的分离锁机制及其对并发访问的支持,同时阐述了CopyOnWriteArrayList在实现可变性时的写入时复制特性,特别适用于读多更新少的场景。文章深入浅出地解释了这些数据结构如何在迭代器使用期间保证容器的修改,同时提供了常见原子操作的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.CopyOnWriteArrayList在每次需要修改时,会创建一个新的容器拷贝,以此来实现可变性.这种"写入时复制"的特性能够保证迭代器在迭代时实现容器的修改.适合在读多更新少的场合

 

2.ConcurrentHashMap采用分离锁,这种机制允许任意数量的读线程和有线数量的写线程并发访问map.ConcurrentHashMap返回的迭代器具有弱一致性,允许迭代的时候并发的修改map,但只会遍历已有的元素.

     ConcurrentHashMap不能在独占访问中加锁,我们不能在客户端加锁来创建新的原子操作,一些常见的原子操作,"缺少即加入",相等便移除","相等便替换"都已实现原子操作,并且这些操作已在ConcurrentHashMap接口中声明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值