下面是两种方法,都创建concurrentHashMap的实例,我的理解是方法2是线程安全的但不是方法1。但是我正在与同事和每个人进行对话,因为两者都创建实例concurrentHashMap不应该接近1也是线程安全的吗?线程安全与地图和并发哈希映射
方法1:
private static final Map<key, value> map = new ConcurrentHashMap<key, value>();
方法2:
private static final ConcurrentHashMap<key, value> concurrentHashMap = new ConcurrentHashMap<key, value>();
希望得到关于此的任何澄清。
这与说“这儿是我儿,约翰”和“这是我的孩子,约翰”之间的区别基本相同。不管你提及约翰如何,iy总是约翰。这是基本的多态,你应该明白,甚至在考虑多线程和线程安全之前,这些更复杂的事情。 – 2014-09-30 19:29:36
您也可以使用'Collections.synchronizedMap(map)'。 – Hannes 2014-09-30 20:47:13