Java 快速失败( fail-fast ) 安全失败( fail-safe )

Posted mzzcy

tags:

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

原文:http://www.cnblogs.com/ygj0930/p/6543350.html

快速失败( fail-fast ):当你在迭代一个集合的时候,如果有另一个线程正在修改你正在访问的那个集合时,就会抛出一个ConcurrentModification异常。

在java.util包下的都是快速失败。

 

安全失败( fail-safe ):你在迭代的时候会去底层集合做一个拷贝,所以你在修改上层集合的时候是不会受影响的,不会抛出ConcurrentModification异常。
在java.util.concurrent包下的全是安全失败的。
 

以上是关于Java 快速失败( fail-fast ) 安全失败( fail-safe )的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

Java 集合深入理解 :java.util 包的集合中 快速失败机制( fail-fast )

fail-fast 和 fail-safe 快速学习

fail-fast与fail-safe