執行緒安全操作HashMap
第一種,加鎖
- HashMap<String, String> map = new HashMap<String, String>();
- synchronized(map)
- {
- if(map.containsKey(“xxx”))
- {
- map.put(“key”, “value”);
- }
- }
第二種,封裝HashTable
- public synchronized void putIfAbsent(String key, String value)
- {
- if(map.containsKey(“xxx”))
- {
- map.put(“key”, “value”);
- }
- }
第三種, 使用ConcurrentHashMap
第四種,Collections.synchronizedMap()方法
本文轉自 dogegg250 51CTO部落格,原文連結:http://blog.51cto.com/jianshusoft/617285,如需轉載請自行聯絡原作者
相關文章
- HashMap為何執行緒不安全HashMap執行緒
- 執行緒安全使用 HashMap 的四種技巧執行緒HashMap
- HashMap為何執行緒不安全?HashMap,HashTable,ConcurrentHashMap對比HashMap執行緒
- 深入解讀HashMap執行緒安全性問題HashMap執行緒
- HashMap1.7與1.8執行緒不安全講解HashMap執行緒
- JDk1.7 HashMap原始碼解析——執行緒安全問題JDKHashMap原始碼執行緒
- 29-HashMap 為什麼是執行緒不安全的?HashMap執行緒
- 執行緒安全執行緒
- 多執行緒系列之 執行緒安全執行緒
- iOS 多執行緒之執行緒安全iOS執行緒
- 多執行緒操作執行緒
- Java執行緒(一):執行緒安全與不安全Java執行緒
- 【多執行緒總結(二)-執行緒安全與執行緒同步】執行緒
- 什麼是執行緒安全和執行緒不安全執行緒
- 【Java多執行緒】執行緒安全的集合Java執行緒
- 執行緒安全(二)執行緒
- Java執行緒安全Java執行緒
- iOS 在主執行緒操作UI不能保證安全iOS執行緒UI
- Java 執行緒常用操作Java執行緒
- HashMap多執行緒併發問題分析HashMap執行緒
- 執行緒的基本操作:新建和終止執行緒執行緒
- iOS多執行緒安全-13種執行緒鎖?iOS執行緒
- Java 多執行緒基礎(四)執行緒安全Java執行緒
- 多執行緒,你覺得你安全了?(執行緒安全問題)執行緒
- 同步容器(如Vector)並不是所有操作都執行緒安全!~執行緒
- pyqt5 子執行緒如何操作主執行緒GUIQT執行緒GUI
- 多執行緒的執行緒狀態及相關操作執行緒
- 併發程式設計之多執行緒執行緒安全程式設計執行緒
- 多執行緒與高併發(二)執行緒安全執行緒
- 小度分享-【多執行緒工作及執行緒安全】執行緒
- iOS開發基礎——執行緒安全(執行緒鎖)iOS執行緒
- 併發與多執行緒之執行緒安全篇執行緒
- Concurrency(四:執行緒安全)執行緒
- 執行緒安全性執行緒
- 容器不是執行緒安全執行緒
- ConcurrentHashMap執行緒安全嗎?HashMap執行緒
- [短文速讀 -5] 多執行緒程式設計引子:程式、執行緒、執行緒安全執行緒程式設計
- 什麼時候執行緒不安全?怎樣做到執行緒安全?怎麼擴充套件執行緒安全的類?執行緒套件
- HashMap很美好,但執行緒不安全怎麼辦?ConcurrentHashMap告訴你答案!HashMap執行緒