下面是兩種方法,都創建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