fail-fast和fail-safe的区别
Posted lanjianblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fail-fast和fail-safe的区别相关的知识,希望对你有一定的参考价值。
- fail-fast(快速失败):多线程情况下,一个线程通过迭代器读取集合中的值时,另一个线程修改了集合,则会抛出ConcurrentModificationException异常;
- 集合中通过modCount记录集合被修改的次数,每次执行next和remove方法的时候都会先检查这个modCount是否与之前相同;
- Java.util.concurrent包不会发生fail-fast,因为在它迭代的是原集合的一个拷贝,原集合改变不会影响到这个拷贝(fail-safe)。
以上是关于fail-fast和fail-safe的区别的主要内容,如果未能解决你的问题,请参考以下文章
快速失败(fail-fast)和安全失败(fail-safe)的区别
Java中快速失败(fail-fast)和安全失败(fail-safe)的区别?