多线程集合类的使用

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();
        }
    }


}

 

posted @ 2020-03-14 22:34  常温的冰  阅读(321)  评论(0)    收藏  举报