我是靠谱客的博主 自信蛋挞,这篇文章主要介绍CopyOnWriteArrayList详解背景:CopyOnWriteArrayList具体实现,现在分享给大家,希望可以做个参考。

背景:

ArrayList不是线程安全的,Collections.SynchronizedList虽然是线程安全的,但是只是简单地对所有方法内部加了Synchronized同步块,这样做虽然可以保证线程安全,但是也就意味着同一时间只能有一个线程来操作该list,并发效率低。

Collections.SynchronizedList顶多算是线程安全容器,算不上是并发容器。所以,才有了我们今天的主角:CopyOnWriteArrayList。

CopyOnWriteArrayList具体实现

CopyOnWriteArrayList是一种ArrayList,采用了CopyOnWrite机制,也就是写时复制机制。简单来说就是,读的时候与普通的ArrayList一样,写的时候要进行加锁,在加锁的同步块里面把原来的数组复制到一个新的数组里,在新的数组中新增或删除了指定的值,最后更改一下CopyOnWriteArrayList里面的引用array的指向。

最后

以上就是自信蛋挞最近收集整理的关于CopyOnWriteArrayList详解背景:CopyOnWriteArrayList具体实现的全部内容,更多相关CopyOnWriteArrayList详解背景内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(133)

评论列表共有 0 条评论

立即
投稿
返回
顶部