当前位置: 首页 > news >正文

网站 建设 内容中铁建设集团有限公司招聘官网

网站 建设 内容,中铁建设集团有限公司招聘官网,建设网站建设哪家便宜,怎么做网站论坛1、典型回答 分段锁是一种将锁细化到每个段(Segment) 级别的锁设计。在 ConcurrentHashMap 中#xff0c;它将整个数据结构分成多个段#xff0c;每个段只锁定自己的一部分数据。每个段可以看作是一个独立的分组#xff0c;只锁定该段(Segment)内部的数据操作#xff0c;不…1、典型回答 分段锁是一种将锁细化到每个段(Segment) 级别的锁设计。在 ConcurrentHashMap 中它将整个数据结构分成多个段每个段只锁定自己的一部分数据。每个段可以看作是一个独立的分组只锁定该段(Segment)内部的数据操作不同的段之间可以并行地进行操作。 如下图所示 (哈希桶)相当于给多个 Entry 进行了分组操作这样比给所有 Entry 加锁效率要高很多currentHashMap 相比于 Hashtable 性能高的原因Hashtable 是给所有的 Entry 加同-把锁来操作的而 ConcurrentHashMap 将 Entry 分成了多 Segment每个 Segment 单独加锁这样就可以实现多个 Segment 一起并发执行了所以 ConcurrentHashMap 的效率也会越高 2、全面剖析 分段锁是一种将锁细化到每个段Seament级别的锁设计。在 ConcurentHashMap 中它将整个数据结构分成多个段每个段只锁定自己的一部分数据 分段锁的实现源码如下 final V put(K key, int hash, V value, boolean onlyIfAbsent) {// 在往该 segment 写入前先确保获取到锁HashEntryK, V node tryLock() ? null : scanAndLockForPut(key, hash, value);V oldValue;try {// Segment 内部数组HashEntryK, V[] tab table;int index (tab.length - 1) hash;HashEntryK, V first entryAt(tab, index);for (HashEntryK, V e first;;) {if (e ! null) {K k;// 更新已有值...} else {// 放置 HashEntry 到特定位置如果超过阈值则进行 rehash// 忽略其他代码..}}} finally {// 释放锁unlock();return oldValue;} }以上述源码我们可以看出Segment 本身是基于 ReentrantLock 实现的加锁和释放锁的操作这样就能保证多个线程同时访问 ConcurrentHashMap 时同一时间只有一个线程能操作相应的节点这样就保证了ConcurrentHashMap 的线程安全了
http://www.pierceye.com/news/329225/

相关文章:

  • 常州 招网站开发seo的名词解释
  • 二级域名网站seo竞价网站建设
  • 麻栗坡网站建设正规网站建设
  • 邯郸网站建设哪家好重庆app开发
  • 自学网站开发多久大型网站建站
  • 网站设计定制多少钱新增备案网站负责人
  • 匿名聊天网站开发网站关键字挖掘
  • 外国域名注册很多网站做网站的人找不到了
  • 好的学习网站打广告免费浏览器网站
  • 美团先做网站还是app学生网站建设的总结与评价
  • 网站建设代理网站wordpress微博
  • dw建设网站视频宁波seo优化项目
  • 网站里添加百度地图浙江网站建设公司
  • php网站开发最新需求排名优化百度
  • 网站制作的电话智慧校园信息门户网站建设
  • 网站备案申请福田企业网站优化方案
  • 企业网站seo怎么做有空间站的国家
  • Linux网站建设总结网站建设目的确定
  • 怎么做网站的内部链接wordpress 写php页面跳转
  • 推广自己的网站网页设计代码html文件怎么查
  • 网站在线制作软件邯郸公众号小程序制作
  • 网站后台生成静态页面天津百度推广电话号码
  • 网站单个页面301跳转湖南省建设局网站
  • 潮州网站建设十堰seo招聘
  • 企业网站建设公司公司系统优化的方法
  • 网站开发与sparkwordpress default
  • 品牌网站建设帮你大蝌蚪北京做网站建设的公司排名
  • 中国建设第一平台网站网络网站建设10大指标
  • 书画院网站源码网站主题模板下载不了
  • 邢台制作网站网上申报流程