色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:92日期: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也是使用了寫時復制還能實現讀寫并行,而顯然ConcrrentHashMap并沒有實現寫時復制,它是怎么保證讀寫并行時不會讀取到不一致中間狀態的呢?

問題解答

回答1:

這篇文章解釋的挺好的

標簽: java
相關文章:
主站蜘蛛池模板: 狠狠综合久久久久综合小说网 | 大量真实偷拍情侣视频野战 | 毛片成人永久免费视频 | 免费国产一区二区三区 | 欧美videos另类齐全 | 怡红院精品视频 | 欧美视频一区二区三区在线观看 | 欧美一区二区三区日韩免费播 | 一区二区三区四区视频在线 | 玖玖色视频 | 日产一区两区三区四区 | 成年大片免费视频播放二级 | 日本一区不卡视频 | 色偷偷88欧美精品久久久 | 在线黄色影院 | xxx免费视频| 亚洲精品视频在线 | 欧美一级毛片高清免费观看 | 91久久国产露脸精品免费 | 免费看欧美一级a毛片 | 日韩欧美中文字幕在线观看 | 亚洲高清自拍 | 高清一级毛片 | 久久九九国产 | 国产一在线精品一区在线观看 | 成人午夜亚洲影视在线观看 | 国产欧美在线一区二区三区 | 国产精品青草久久久久福利99 | 一本久综合久久爱 | 黄色网址视频在线观看 | 欧美乱大交xxxxx在线观看 | 毛片亚洲毛片亚洲毛片 | 看日本真人一一级特黄毛片 | 玖草在线 | 亚洲免费小视频 | 欧美成人一级片 | 美国一级毛片不卡无毒 | 久久成人综合网 | 91精品91| 久久毛片免费看一区二区三区 | 日本特级视频 |