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

}

 

posted @ 2018-11-25 22:22  知识追求者  阅读(140)  评论(0编辑  收藏  举报