Java CopyOnWriteArrayList分析

CopyOnWriteArrayList是一种线程安全的ArrayList,顾名思义,它会利用写时拷贝技术,它对共享对象做只读操作的时候,大家都用一个共享对象,如果有可变的操作时,就会复制一份出来,然后在新的拷贝上进行操作。


所以可变操作的开销就会比较大,当然,在执行复制前,需要上独占锁,这样保证在复制的时候,不会出现不一致的情况,在复制完毕后,释放锁。而在做复制的时候,其它线程还是可以在原有的老的对象上进行只读操作,所以不会阻塞读操作。


当复制执行完之后,更改volatile引用,从而其它线程可以看到最新的修改结果。

原文:http://blog.csdn.net/hongchangfirst/article/details/39668723

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值