没有合适的资源?快使用搜索试试~ 我知道了~
Fail-Fast机制1
需积分: 0 0 下载量 21 浏览量
2022-08-08
21:26:01
上传
评论
收藏 14KB DOCX 举报
温馨提示
试读
3页
Fail-Fast机制 由于HashMap(ArrayList)并不是线程安全的,因此如果在使用迭代器的过程中有其他线程修改了map(这里的修改是指结构上的修改
资源详情
资源评论
资源推荐
Fail-Fast 机制
由于 HashMap(ArrayList)并不是线程安全的,因此如果在使用
迭代器的过程中有其他线程修改了 map(这里的修改是指结构上的
修改,并非指单纯修改集合内容的元素),那么将要抛出
ConcurrentModificationException 即为 fail-fast 策略
主要通过 modCount 域来实现,保证线程之间的可见
性,modCount 即为修改次数,对于 HashMap(ArrayList)内容的
修改就会增加这个值, 那么在迭代器的初始化过程中就会将这个值
赋值给迭代器的 expectedModCount
但是 fail-fast 行为并不能保证,因此依赖于此异常的程序的做法是
错误的
在面试中,我会经常问面试者什么是 Fast Fail,但遗憾的是很多
人都没有听说过这个概念。借这个空挡,写点东西描述一下。
在并发的时候,如果线程 A 正遍历一个 collection(List, Map, Set
etc.),这时另外一个线程 B 却修改了该 collection 的 size,线程 A
就会抛出一个错:ConcurrentModificationException,表明:我正
读取的内容被修改掉了,你是否需要重新遍历?或是做其它处理?这
就是 fail-fast 的含义。
王佛伟
- 粉丝: 13
- 资源: 320
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0