ConcurrentHashMap 的Segment是不是越多并发性能越高

 我来答
百度网友1e30cd6b3
2017-11-01 · TA获得超过229个赞
知道答主
回答量:224
采纳率:54%
帮助的人:16.7万
展开全部
参考内容:
ConcurrentHashMap锁式稍微细粒度 ConcurrentHashMaphash表16桶(默认值)诸get,put,remove等用操作锁前需要用桶
试想原 能线程进入现却能同16写线程进入(写线程才需要锁定读线程几乎受限制提)并发性提升显易见
更令惊讶ConcurrentHashMap读取并发读取数候都没用锁定所读取操作几乎完全并发操作写操作锁定粒度非细比起前更加快速(点桶更表现更明显些)求size等操作才需要锁定整表
迭代ConcurrentHashMap使用同于传统集合快速失败迭代器另种迭代式我称弱致迭代器种迭代式iterator创建集合再发改变再抛 ConcurrentModificationException取代改变new新数据影响原数 据iterator完再指针替换新数据iterator线程使用原数据写线程并发完改变更重要保证线程并发执行连续性扩展性性能提升关键
面析ConcurrentHashMap源码主要析其Segment操作基本都Segment先看Segment内部数据定义
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式