如何创建一个线程安全的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 性能最好
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。