2012-08-16 38 views

回答

1

如果您要在寫入或兩個併發寫入的同時進行併發讀取,則只需要一個ConcurrentHashMap。如果初始化後永遠不會更改映射,則常規的HashMap就足夠了。

控制器通常不應包含任何特定於請求的狀態(應將任何此類狀態作爲參數傳遞給方法),並且如果以這種方式設計控制器,則不應在控制器中需要任何同步。

+0

你能舉一個例子嗎?有一個控制器需要一個並行哈希映射,哪個不需要? – kamaci 2012-08-16 06:52:33

+0

@kamaci:正如我所提到的,設計良好的控制器不應該維護任何狀態,也不應該要求併發哈希映射。 – casablanca 2012-08-16 06:59:57

0

如果你有多個線程訪問同一個hashmap,你需要同步這個訪問。

可以通過使用像ConcurrentHashMap那樣已經實現的對象來實現,或者編寫自己的同步代碼並使用普通的HashMap。