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

1,使用普通的旧的Hashtable

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

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

3,使用concurrent包下的ConcurrentHashMap 

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

ConcurrentHashMap 性能最好

 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注