最近在高并發的系統中發現,concurrenthashmap除了大家熟知的避免循環期間發生ConcurrentModificationException異常外,還有重要的一點是Retrievals reflect the results of the most recently?completed?update operations holding upon their onset,也就是get的時候會得到最新后的結果,線程間亦如此。而hashmap并沒有提及一點,所以并不能保證另一個線程在之后能夠立刻讀取到最新的值。
所以,如果希望一個線程對map所做的變更在另一個線程立刻可見,應使用concurrenthashmap。