博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CopyOnWriteArrayList
阅读量:7083 次
发布时间:2019-06-28

本文共 323 字,大约阅读时间需要 1 分钟。

hot3.png

CopyOnWriteArrayList是ArrayList的一个线程安全变体,所有可变操作(add、set...)都可以通过对底层数组进行一次新的复制来实现。

虽然复制数组的开销挺大,但在下面两种情况下比较适用:

  1. 遍历操作数量远多于可变操作的数量时:比如观察者模式中侦听者列表适合用CopyOnWriteArrayList存储

  2. 不能或者不想进行同步遍历

对CopyOnWriteArrayList的迭代可以保证不会抛出ConcurrentModificationException,原因见第一段。类似的还有CopyOnWriteArraySet。

转载于:https://my.oschina.net/feichexia/blog/194660

你可能感兴趣的文章
VM虚拟机连Linux黑屏问题
查看>>
Redis内存使用优化与存储
查看>>
Educational Codeforces Round 65 (Rated for Div. 2) C. News Distribution
查看>>
[转] 如何写好.babelrc?Babel的presets和plugins配置解析
查看>>
The JVM Architecture Explained
查看>>
输入框禁止表情
查看>>
最大乘积(大佬的代码)
查看>>
dagger android 学习(四):基于dagger2的mvp架构
查看>>
CentOs7 使用iptables防火墙开启关闭端口
查看>>
swift - 自定义tabbar按钮的操作
查看>>
VS2008中如何加入flash
查看>>
iOS JPG图片文件压缩中的坑
查看>>
swift的可选项--optional/?
查看>>
一行代码解决UITableView键盘收起
查看>>
java 企业 网站源码 模版 屏幕自适应 有前后台 springmvc SSM 生成静态化
查看>>
sqlite3 新建数据库的过程
查看>>
运算符
查看>>
electron-vue 实践 1 —— 安装和创建工程
查看>>
RGBa颜色 css3的Alpha通道支持
查看>>
相同类名,单个执行
查看>>