多线程集合类的使用
HashMap 对应 ConcurrentHashMap
HashSet 对应 CopyOnWriteArraySet
HashList 对应 CopyOnWriteArrayList
public class NotSafeDemo { public static void main(String[] args) { Map<String,String> map = new ConcurrentHashMap(); for (int i = 1; i <=30 ; i++) { new Thread(()->{ map.put(UUID.randomUUID().toString().substring(0,8),Thread.currentThread().getName()); System.out.println(map); },String.valueOf(i)).start(); } } private static void nosafeSet() { Set<String> set = new CopyOnWriteArraySet<>(); Set<String> set2 = new HashSet<>(); for (int i = 1; i <=30 ; i++) { new Thread(()->{ set.add(UUID.randomUUID().toString().substring(0,8)); System.out.println(set); },String.valueOf(i)).start(); } } private static void nosafeList() { List<String> list = new CopyOnWriteArrayList(); for (int i = 1; i <=30 ; i++) { new Thread(()->{ list.add(UUID.randomUUID().toString().substring(0,8)); System.out.println(list); },String.valueOf(i)).start(); } } }