ConcurrentHashMap 并发哈希映射
来源:互联网 发布:西安软件公寓 编辑:程序博客网 时间:2024/06/06 02:50
1.与hashtable的比较
1.1效率低下的HashTable容器
HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法时,其他线程也想访问HashTable的同步方法,就会进入阻塞或轮询状态。如线程1使用put进行添加元素,线程2不但不能使用put方法添加元素,并且也不能使用get方法来获取元素,所以竞争越激烈效率越低。
图1-1 hashtable中在put()方法上加锁
1.2ConcurrentHashMap的锁分段技术
HashTable容器在竞争激烈的并发环境下表现出效率低下的原因,是因为所有访问HashTable的线程都必须竞争同一把锁。那假如容器里有多把锁,每一把锁用于锁容器其中一部分数据,那么当多线程访问容器里不同数据段的数据时,线程间就不会存在锁竞争,从而可以有效的提高并发访问效率,这就是ConcurrentHashMap所使用的锁分段技术。
图1-2 ConcurrentHashTable中的put()方法,使用分段锁
0 0
- ConcurrentHashMap 并发哈希映射
- java并发之ConcurrentHashMap
- java并发-concurrentHashMap
- java并发之ConcurrentHashMap
- 并发容器之ConcurrentHashMap
- 并发容器ConcurrentHashMap
- 并发容器之ConcurrentHashMap
- ConcurrentHashMap高并发应用
- 并发集合:ConcurrentHashMap
- 【并发】ConcurrentHashMap原理分析
- ConcurrentHashMap并发性测试
- 深入并发包 ConcurrentHashMap
- ConcurrentHashMap 并发分析
- ConcurrentHashMap并发实现原理
- Java并发编程之ConcurrentHashMap
- Java并发编程之ConcurrentHashMap
- Java并发编程之ConcurrentHashMap
- Java并发编程之ConcurrentHashMap
- View 事件传递
- MongoDB学习(二):数据类型和基本概念
- 动态规划学习系列——数位DP(初识)
- input输入框将全角输入的数字转换为半角
- 11、Libgdx的音频
- ConcurrentHashMap 并发哈希映射
- Openstack Keystone 认证流程(三)-WSGI
- ViewPager实现淘宝天面首页广告栏,支持左右滑动,自动滑动,带圆点指示器
- oracle null 和 空串 ''
- MongoDB学习(三):MongoDB Shell的使用
- 【转载】Java之美[从菜鸟到高手演变]之设计模式
- VS2012打开VS2010项目报错
- MongoDB学习 (四):创建、读取、更新、删除(CRUD)快速入门
- 入学考试