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