ArrayList多线程并发下会出现不安全问题,并发修改异常:
java.util.ConcurrentModificationException
解决:
1、new Vector();
2、Collections.syncchronizedList(new ArrayList<>());
3、new CopyOnWriteArrayList();
HashSet 多线程不安全
解决:
1、Collections.synchronizedSet(new HashSet());
2、new CopyOnWriceArraySet<>();
HashSet底层就是HashMap
public HashSet() {
map = new HashMap<>();
}
private static final Object PRESENT = new Object();
public boolean add(E e) {
return map.put(e, PRESENT) == null;
}
HashMap 多线程不安全
解决:
1、new ConcurrentHahMap<>();