获取线程安全的List和Set以及Map
我们都知道List和Set接口的子类都是线程不安全的,但是往往线程不安全但是使用高效,那么如何获取到高效且线程安全的list和set呢?
//对于List接口
Collections.synchronizedList(new ArrayList<>());
CopyOnWriteArrayList<Object> objects = new CopyOnWriteArrayList<>();
//对于Set接口
Collections.synchronizedSet(new HashSet<>());
CopyOnWriteArraySet<Object> objects1 = new CopyOnWriteArraySet<>();
//对于Map接口,HashTable和ConcurrentHashMap都是线程安全的
Collections.synchronizedMap(new HashMap<>());