fail-fast和fail-safe的区别

Posted lanjianblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fail-fast和fail-safe的区别相关的知识,希望对你有一定的参考价值。

  1. fail-fast(快速失败):多线程情况下,一个线程通过迭代器读取集合中的值时,另一个线程修改了集合,则会抛出ConcurrentModificationException异常;
  2. 集合中通过modCount记录集合被修改的次数,每次执行next和remove方法的时候都会先检查这个modCount是否与之前相同;
  3. Java.util.concurrent包不会发生fail-fast,因为在它迭代的是原集合的一个拷贝,原集合改变不会影响到这个拷贝(fail-safe)。

以上是关于fail-fast和fail-safe的区别的主要内容,如果未能解决你的问题,请参考以下文章

快速失败(fail-fast)和安全失败(fail-safe)的区别

java中fail-fast 和 fail-safe的区别

Java中快速失败(fail-fast)和安全失败(fail-safe)的区别?

面试题思考:java中快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?

fail-fast 和 fail-safe 快速学习

fail-fast和fail-safe