CopyOnWriteArrayList的使用和优缺点
2022-12-13 12:29 杭伟 阅读(337) 评论(0) 编辑 收藏 举报CopyOnWriteArrayList允许并发读,读操作无锁,性能较高;
而写操作(含删除),比如向容器中添加/删除一个元素,则首先将当前容器复制一份,然后在新副本上执行写操作,结束之后再将原容器的引用指向新容器。
可以看到,设计上使用volatile数组变量+ReentrantLock可重入锁组合。
优点:适用于读多写少的并发场景,另类“读写分离”思想(写时在新的副本写)应用。
缺点:内存占用;无法保证实时性。
*因为读写分离这个特点,故而不支持fail-fast 。或者说这个思想的应用一定不支持fail-fast。
作者:hangwei
出处:http://www.cnblogs.com/hangwei/
关于作者:专注于开源平台,分布式系统的架构设计与开发、数据库性能调优等工作。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
如果您觉得文章对您有帮助,可以点击文章右下角“推荐”一下。您的鼓励是作者坚持原创和持续写作的最大动力!