美文网首页
fail-fast机制

fail-fast机制

作者: lenny611 | 来源:发表于2019-08-11 14:39 被阅读0次

    fail-fast机制是java集合中的一种错误机制。
    当使用迭代器迭代时,如果发现集合有修改,则快速失败做出响应,抛出ConcurrentModificationException异常。
    这种修改有可能是其它线程的修改,也有可能是当前线程自己的修改导致的,比如迭代的过程中直接调用remove()删除元素等。

    另外,并不是java中所有的集合都有fail-fast的机制。比如,像最终一致性的ConcurrentHashMap、CopyOnWriterArrayList等都是没有fast-fail的。

    fail-fast实现:
    在诸如ArrayList、HashMap中都有一个属性叫 modCount,每次对集合的修改这个值都会加1,在遍历前记录这个值到 expectedModCount中,遍历中检查两者是否一致,如果出现不一致就说明有修改,则抛出ConcurrentModificationException异常。

    相关文章

      网友评论

          本文标题:fail-fast机制

          本文链接:https://www.haomeiwen.com/subject/lzfsjctx.html