Iterator的fail-fast、fail-safe机制

ArrayList是fail-fast的典型代表,遍历的同时不能修改,尽快失败
原理是arrayList中有一个修改次数变量,每次修改list这个变量都会+1

获取迭代器时将arrayList中的修改次数变量赋值给迭代器中的变量,之后每次遍历前都要比较这两个变量是否相同,不同则抛出并发修改异常
CopyOnWriteArrayList是fail-safe的典型代表,遍历的同时可以修改,原理是读写分离

posted @ 2023-02-10 11:24  程长新  阅读(25)  评论(0)    收藏  举报