HashMap vs ConcurrentHashMap vs Collections.synchronizedMap(HashMap)
2015-07-10 10:34
225 查看
HashMap, ConcurrentHashMap和Collections.synchronizedMap(HashMap)有什么区别?
HashMap就是一个正常的Dictionary,不是线程安全的;
ConcurrentHashMap是线程安全的,它是通过将Map中的entry再分成segment,不同的segement使用不同的锁,来实现多线程安全快速访问的。但是如果不同的线程来访问同一个segment中的entry的话,还是要等上一个线程访问完成,才能继续;
Collections.synchronizedMap(HashMap)是通过将一个包装类,将HashMap的所有方法都synchronized住。
HashMap就是一个正常的Dictionary,不是线程安全的;
ConcurrentHashMap是线程安全的,它是通过将Map中的entry再分成segment,不同的segement使用不同的锁,来实现多线程安全快速访问的。但是如果不同的线程来访问同一个segment中的entry的话,还是要等上一个线程访问完成,才能继续;
Collections.synchronizedMap(HashMap)是通过将一个包装类,将HashMap的所有方法都synchronized住。
相关文章推荐
- 通道,灰度,深度
- 内表之间的复制
- 二叉树先序遍历,中序遍历和后序遍历的非递归实现
- 简单的shell scripts例子
- 原生js 异步请求,responseXML解析
- COJ 0020 30201象棋中的皇后
- 微信网页第三方登陆 获取用户信息 代码
- 编译安装mysql
- oschina添加ssh公钥一记
- securtCRT上传或下载文件szrz
- Win7下用IIS发布网站
- 算法基础:排列组合问题-全排列(Golang实现)
- 《统计学习方法》笔记(十二)--Adaboost
- icvDefaultSplitIdx_R和icvDefaultSplitIdx_C
- swift 创建tableView 并实现协议
- leetcode 54 : Spiral Matrix
- C# 目录(文件夹)复制实现
- for test test test
- iOS 7原生二维码扫描中文gbk编码乱码的解决
- SAPUI5-HTML