簡體   English   中英

Java控制器上的HashMap或ConcurrentHashMap?

[英]HashMap or ConcurrentHashMap at Java Controllers?

如此處所述: Java中的ConcurrentHashMap? Java上的並發哈希圖是線程安全的。 Java控制器用於Web請求,並且可以從Web同時調用。

我的問題是:我應該在Java中使用並發哈希圖而不是哈希圖嗎?

如果將要進行並發讀取和一次寫入或兩次並發寫入,則僅需要ConcurrentHashMap 如果初始化后再也沒有更改地圖,那么常規的HashMap就足夠了。

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

如果您有多個線程訪問同一個哈希圖,則需要同步此訪問。

您可以通過使用已實現此功能的對象(例如ConcurrentHashMap)來做到這一點,或者編寫自己的同步代碼並使用普通的HashMap。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM