亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術(shù)文章
文章詳情頁

java - ConcurrentHashMap中的get()方法為什么可以不加鎖?

瀏覽:129日期:2023-12-13 16:07:45

問題描述

public V get(Object key) {Segment<K,V> s; // manually integrate access methods to reduce overheadHashEntry<K,V>[] tab;int h = hash(key);long u = (((h >>> segmentShift) & segmentMask) << SSHIFT) + SBASE;if ((s = (Segment<K,V>)UNSAFE.getObjectVolatile(segments, u)) != null && (tab = s.table) != null) { for (HashEntry<K,V> e = (HashEntry<K,V>) UNSAFE.getObjectVolatile (tab, ((long)(((tab.length - 1) & h)) << TSHIFT) + TBASE); e != null; e = e.next) {K k;if ((k = e.key) == key || (e.hash == h && key.equals(k))) return e.value; }}return null; }

為什么Vector的get就需要使用synchronized來加鎖而ConcurrentHashMap則不需要?而且CopyOnWriteArrayList也是使用了寫時復(fù)制還能實現(xiàn)讀寫并行,而顯然ConcrrentHashMap并沒有實現(xiàn)寫時復(fù)制,它是怎么保證讀寫并行時不會讀取到不一致中間狀態(tài)的呢?

問題解答

回答1:

這篇文章解釋的挺好的

標簽: java
相關(guān)文章:
主站蜘蛛池模板: 最新最好看免费毛片基地 | 美女黄色三级 | 亚洲一级特黄特黄的大片 | 在线视频一区二区三区四区 | 欧美激情视频在线观看一区二区三区 | 日本乱子伦xxxx | 美女张开腿让男人桶的动态图 | 国产99久久精品 | 免费一级毛片无毒不卡 | 亚洲欧洲一区二区三区在线 | 欧美一级色视频 | 国产日产欧美精品一区二区三区 | 高清欧美性xxxx成熟 | 伊人久久影视 | www成人国产在线观看网站 | 26uuu影院亚洲欧美综合 | 国产婷婷成人久久av免费高清 | 亚洲精彩视频在线观看 | 深夜福利视频在线观看免费播放 | 成人免费午夜性视频 | 国产美女在线精品观看 | 欧美多人三级级视频播放 | 在线はじめてのおるすばん | 午夜精品影院 | 国产精品制服 | 国产欧美一区视频在线观看 | 免费鲁丝片一级观看 | 日韩中文在线 | 99久久99热精品免费观看国产 | 国产黄色片一级 | 手机毛片 | 毛片大全免费 | 免费毛片播放 | 亚洲欧洲国产视频 | 免费看又黄又爽又猛的网站 | 亚洲成人福利在线 | 欧美大片欧美毛片大片 | 亚洲第一色网 | 欧美一级在线看 | 日韩不卡一级毛片免费 | 国产真实乱子伦xxxxchina |