快速失败 - 安全失败

      快速失败的“快”不是体如今迭代器访问集合的时候,两个线程间的快慢。而是体如今,当A线程访问集合时,有另一个线程B改变了该集合的结构,(添加/删除一个或多个映射关系),除非经过迭代器自己的 remove 方法,其余任什么时候间任何方式的修改  都会致使 A线程会“当即”抛出ConcurrentModificationException 异常,迭代“快速终止”。
      与“快速失败”相对的有一个概念是“安全失败”。Iterator的安全失败是基于对底层集合作拷贝,所以,它不受源集合上修改的影响。也就是一样的状况下,A集合不会抛出ConcurrentModificaitonException异常,迭代会继续。安全

 

 

感谢:瘦子4(牛客网)线程

相关文章
相关标签/搜索