java多线程快速入门(二十)

1、Java.util的线程安全工具类

  Vector(线程安全)    ArrayList(线程不安全)

  HashTable(线程安全)  HashMap(线程不安全)

2、将线程不安全集合变为线程安全集合

package com.cppdy;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class ThreadDemo16 {

    public static void main(String[] args) throws Exception {
        Map<String, String> map=new HashMap<>();
        map.put("name", "吹泡泡的魚");
        //将线程不安全集合变为线程安全集合
        Map<String, String> synchronizedMap = Collections.synchronizedMap(map);
    }

}

3、ConcurrentHashMap(分段存储,分段锁,只要多个修改操作发生在不同的段上,它们就可以并发进行,最高支持16个线程的并发修改操作)

package com.cppdy;

import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;

public class ThreadDemo16 {

    public static void main(String[] args) throws Exception {
        //分段存储,分段锁,只要多个修改操作发生在不同的段上,它们就可以并发进行,最高支持16个线程的并发修改操作
        ConcurrentMap<String, String> concurrentMap=new ConcurrentHashMap<String, String>();
    }

}
原文地址:https://www.cnblogs.com/jiefu/p/10017795.html