亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:77日期: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:

這篇文章解釋的挺好的

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 一道本不卡免费视频 | 一区二区三区在线看 | 久久爱www成人 | 99久久精品男女性高爱 | 美女黄18岁以下禁看 | 欧美一区二区三区精品国产 | 91极品尤物 | 国产噜噜在线视频观看 | 一级做a爰片性色毛片黄书 一级做a爰片性色毛片新版的 | 国产精品玖玖玖在线观看 | 国产ppp在线视频在线观看 | 国产线路 中文字幕 | 欧美一级毛片做受 | 久久久久国产免费 | 国产香蕉在线精彩视频 | 久久草在线免费 | 一级色视频 | 国产精品 主播精选 网红 | 久久www免费人成精品香蕉 | 黄色网址哪里有 | 成人午夜私人影院入口 | 96精品视频在线播放免费观看 | 日韩欧美在线综合网高清 | 狠狠色噜噜狠狠狠狠97不卡 | 亚洲综合狠狠99婷婷 | 亚洲黄色免费观看 | 爱色视频| 日本69色视频在线观看 | 久久亚| 日本美女黄色片 | 亚洲香蕉在线视频 | 美女黄色一级片 | 青青国产成人久久91网站站 | 久久91精品久久91综合 | 亚洲综合99 | 国产丝袜护土调教在线视频 | 精品一区二区三区视频 | 日韩无套 | 韩国一级做a爱性色毛片 | 日韩视频中文字幕 | 美女黄网页 |