concurrentMap和hashMap的區別,兩者的應用場景?

時間 2021-06-16 07:16:14

1樓:這裡有個程式設計師兒

根據問題簡單回答一下,concurrentHashMap用於多執行緒的場景保證執行緒安全,HashMap用於單執行緒場景,因為它不能保證執行緒安全。具體實現區別可以自行google。

2樓:開心就好

HashMap 適用於單執行緒運算元據。

concurrentMap適用於多個執行緒同時要操作乙個map的資料。

但是 ConcurrentHashmap只能保證自身資料在多執行緒的環境下不被破壞,而並不能保證業務邏輯的正確性。

比如說: 多個執行緒同時檢查 map 中是否含有某個key,如果不存在,則放入對應的value 。此時如果不用鎖,或者不用putIfAbsent ,依然不能保證執行緒安全 。

如果多執行緒同時操作 ConcurrentHashmap ,可以考慮在初始化的時候,合理的設定 concurrencyLevel, 也就是它裡邊的段的數量,能夠在一定程度上減少鎖競爭。這個值在初始化之後則不能調整。

publicConcurrentHashMap(intinitialCapacity,

floatloadFactor,intconcurrencyLevel)

3樓:青牛

concurrentMap執行緒安全速度慢分段鎖不是整體鎖hashMap執行緒不安全速度快

還有Hashtable 執行緒安全,速度最慢因為是整體的鎖,基本被淘汰了

concurrentMap 適合用於併發程式設計,其實就是在要求執行緒安全的時候用它

因為hashmap雖然效率高但是執行緒不安全,hashtable執行緒安全缺效率太低』

如果你在想深入了解的話,建議你去檢視三者的原始碼。

當然要對鎖的機制有所了解。也要明白同步方法鎖的是那個物件。

空氣淨化器 HEPA 濾網有 H11 H12 和 H13 幾種級別,濾網是級別越高越好嗎?

AllBlue 首先我們先要確定一點 HEPA濾網只是空氣淨化器濾網中的一環!不要只關注這一環!接下來我們再具體講講HEPA濾網 定義 中文意為高效空氣過濾器,達到HEPA標準的過濾網,對於0.1微公尺和0.3微公尺的有效率達到99.7 HEPA網的特點是空氣可以通過,但細小的微粒卻無法通過。作用範...

sony8000h和9000h電視怎麼選

生活家小毛 推薦sony8000h,外形外觀 外觀設計輕巧,無邊框設計。執行速度 執行速度快,不卡頓。螢幕音效 螢幕音效很不錯,支援杜比環繞音效。尺寸大小 尺寸很大,看起來很爽。安裝同步 上門安裝,全程安裝師傅操作很專業。功能效果 功能全面,操作簡單。生活家小毛 東芝液晶電視和索尼kd 65x800...

i5 8300h 和 i7 8750h如何取捨?

迷貓 相容性不用擔心,廠家既然給你組裝出來了。就保證你的電腦效能穩定。而且現在的介面都已經統一規定了,而且各種協議已經完全支援了。所以不用擔心是否相容,很早的時候電腦有相容問題。具體怎麼抉擇,就看你的需要啦。如果預算不夠那就買i5,預算夠的話就買I7,如果感覺自己的性能夠的話買i5,不夠的話買i7....