美文网首页
Fail-Fast 机制

Fail-Fast 机制

作者: lqsss | 来源:发表于2018-03-10 16:40 被阅读0次

简介

fail-fast 机制是 java 集合(Collection)中的一种错误机制。 当多个线程对同一个集合的内容进行操作时,就可能会产生 fail-fast 事件。

例如:当某一个线程 A 通过 iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程 A 访问集合时,就会抛出 ConcurrentModificationException 异常,产生 fail-fast 事件。

modCount 实现

在迭代过程中,判断 modCount 跟 expectedModCount 是否相等,如果不相等就表示已经有其他线程修改了 Map:

注意到 modCount 声明为 volatile,保证线程之间修改的可见性。

final Entry<K,V> nextEntry() {
    if (modCount != expectedModCount)
        throw new ConcurrentModificationException();

ConcurrentModificationException异常

在迭代器创建之后,如果从结构上对映射进行修改,除非通过迭代器本身的 remove 方法,其他任何时间任何方式的修改,迭代器都将抛出 ConcurrentModificationException.

相关文章

  • Fail-Fast和Fail-Safe机制

    1 Fail-Fast 1.1 fail-fast定义 fail-fast 机制是java集合(Collectio...

  • fail-fast 与 fail-safe

    先说说什么是fail-fast fail-fast 机制是java集合(Collection)中的一种错误机制。在...

  • Java fail-fast 和 fail-safe机制

    Java fail-fast 和 fail-safe机制 基本概念 fail-fast 和 fail-safe这两...

  • fail-fast与fail-safe机制

    fail-fast fail-fast机制在遍历一个集合时,当集合结构被修改,会抛出ConcurrentModif...

  • fail-fast机制, ArrayList, LinkedLi

    fail-fast机制:Iterator的concurrentModifiedException 在迭代器生成后一...

  • Fail-Fast:Java集合错误检测机制

    一、简介fail-fast,即快速失败,Java集合的一种错误检测机制。当多个线程对集合(非fail-fast的集...

  • Fail-Fast 机制

    简介 fail-fast 机制是 java 集合(Collection)中的一种错误机制。 当多个线程对同一个集合...

  • fail-fast 机制

    什么是fail-fast 它是Java集合的一种错误检测机制。当多个线程对集合进行结构上的改变的操作时,有可能会产...

  • fail-fast机制

    1.概念 fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的...

  • fail-fast机制

    fail-fast机制是java集合中的一种错误机制。当使用迭代器迭代时,如果发现集合有修改,则快速失败做出响应,...

网友评论

      本文标题:Fail-Fast 机制

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