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

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

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

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

 

安全失败( fail-safe ):你在迭代的时候会去底层集合做一个拷贝,所以你在修改上层集合的时候是不会受影响的,不会抛出ConcurrentModification异常。
在java.util.concurrent包下的全是安全失败的。
 
posted @ 2017-06-13 19:34  mzzcy  阅读(526)  评论(0编辑  收藏  举报