如何创建一个线程安全的Map

2025-05-17 14:28:51
推荐回答(1个)
回答1:

1,使用普通的旧的Hashtable

HashMap允许null作为key,而Hashtable不可以

2,使用Collections中同步化的包装方法synchronizedMap

3,使用concurrent包下的ConcurrentHashMap 

//Hashtable Example Code
Map threadSafeMap = new Hashtable();
//synchronizedMap Example Code.
threadSafeMap = Collections.synchronizedMap(new HashMap());
//ConcurrentHashMap Example Code
threadSafeMap = new ConcurrentHashMap();
threadSafeMap .put("Key1", 123)

ConcurrentHashMap 性能最好