fail-fast简介
fail-fast(快速失败),是Java集合的一种错误检测机制。当在遍历集合的过程中该集合在结构(改变集合大小)上发生变化时候,
有可能发生fail-fast,抛出java.util.ConcurrentModificationException异常。
fail-fast出现场景
- 单线程场景
-
public class FailFastSingleThreadTest { public static void main(String[] args) { List<String> lists = new ArrayList<>(10); for (int i = 0; i < 4; i++){ lists.add(String.valueOf(i)); } //fail-fast for (String list : lists) { lists.remove(3); } } } //output:Exception in thread "main" java.util.ConcurrentModificationException
-
- 多线程场景
-
public class FailFastMultiThread { private static List<String> lists = new ArrayList<>(10); static { for (int i = 0; i <
-