如何创建一个线程安全的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.synchronizedMapnew HashMap<String, Integer>));
//ConcurrentHashMap Example Code
threadSafeMap = new ConcurrentHashMap<String, Integer>);
threadSafeMap .put"Key1", 123)

ConcurrentHashMap 性能最好

 

Published by

风君子

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