大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java多線程中鎖的理解與使用

Java多線程中鎖的理解與使用

更新時間:2020-02-05 14:15:32 來源:動力節點 瀏覽2443次


Java多線程中鎖的理解與使用


  分段鎖


  分段鎖其實是一種鎖的設計,并不是具體的一種鎖,對于ConcurrentHashMap而言,其并發的實現就是通過分段鎖的形式來實現高效的并發操作,ConcurrentHashMap中的分段鎖稱為Segment,它即類似于HashMap(JDK7與JDK8中HashMap的實現)的結構,即內部擁有一個Entry數組,數組中的每個元素又是一個鏈表;同時又是一個ReentrantLock(Segment繼承了ReentrantLock)。當需要put元素的時候,并不是對整個HashMap進行加鎖,而是先通過hashcode來知道他要放在那一個分段中,然后對這個分段進行加鎖,所以當多線程put的時候,只要不是放在一個分段中,就實現了真正的并行的插入。但是,在統計size的時候,可就是獲取HashMap全局信息的時候,就需要獲取所有的分段鎖才能統計。


  分段鎖的設計目的是細化鎖的粒度,當操作不需要更新整個數組的時候,就僅僅針對數組中的一項進行加鎖操作。


  偏向鎖/輕量級鎖/重量級鎖


  這三種鎖是指鎖的狀態,并且是針對synchronized。在Java5通過引入鎖升級的機制來實現高效synchronized。這三種鎖的狀態是通過對象監視器在對象頭中的字段來表明的。


  偏向鎖是指一段同步代碼一直被一個線程所訪問,那么該線程會自動獲取鎖。降低獲取鎖的代價。


  輕量級鎖是指當鎖是偏向鎖的時候,被另一個線程所訪問,偏向鎖就會升級為輕量級鎖,其他線程會通過自旋的形式嘗試獲取鎖,不會阻塞,提高性能。


  重量級鎖是指當鎖為輕量級鎖的時候,另一個線程雖然是自旋,但自旋不會一直持續下去,當自旋一定次數的時候,還沒有獲取到鎖,就會進入阻塞,該鎖膨脹為重量級鎖。重量級鎖會讓其他申請的線程進入阻塞,性能降低。


  自旋鎖


  在Java中,自旋鎖是指嘗試獲取鎖的線程不會立即阻塞,而是采用循環的方式去嘗試獲取鎖,這樣的好處是減少線程上下文切換的消耗,缺點是循環會消耗CPU。


Java多線程中鎖的理解與使用


       以上就是動力節點Java培訓機構小編介紹的“Java多線程中鎖的理解與使用”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


  相關內容


  java多線程的狀態轉換以及基本操作


  常見Java多線程面試題總結


  Java多線程學習,深入解析


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产小视频在线观看 | 国产精品91av | 99视频在线永久免费观看 | 美女黄频 | 久久成人免费观看草草影院 | 快播视频在线 | 欧美成人激情视频 | 波多野结衣一区在线观看 | 91在线免费看| 欧美午夜性春猛交 | 奇米影视色 | 国内精品久久久久香蕉 | 久青草中文字幕精品视频 | 国产亚洲精品美女一区二区 | 凹凸精品视频分类国产品免费 | 七色永久性tv网站免费看 | 一级色视频 | 99精品视频在线这里只有 | 欧美一级视频在线观看 | 久夜色精品国产一区二区三区 | 日本精品1在线区 | 成人免费高清视频 | 欧美日韩国产亚洲一区二区 | 午夜视频福利在线 | 夜色视频一区二区三区 | 波多野结衣久久精品 | 国产成人一区免费观看 | 国外免费一级 | 四虎影视国产永久免费 | 九九99热久久精品在线6手机 | 四虎精品永久在线 | 精品一区二区在线欧美日韩 | 一区二区三区在线免费观看视频 | 国产亚洲精品一区二区 | 在线视频一二三区 | 日本久久久久亚洲中字幕 | 桃花在线视频社区 | 国产成人高清亚洲一区91 | 四虎国产精品视频免费看 | 精品视频免费播放 | 久久婷婷激情综合中文字幕 |