成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Java鎖相關知識總結

未東興 / 2800人閱讀

摘要:鎖的種類自動鎖最常用可以給類方法代碼塊加鎖手動鎖,只能鎖代碼塊兒,且需要手動加鎖解鎖,忘記解鎖會造成死鎖輕量級鎖,不會造成線程阻塞,只能修飾變量,且只能保證變量的修改可見性,無法保證原子性解決死鎖的方法盡量使用的方法,設置超時時間,超時可以

鎖的種類:

synchronize自動鎖(最常用) 可以給類、方法、代碼塊加鎖
lock手動鎖,只能鎖代碼塊兒,且需要手動加鎖解鎖,忘記解鎖會造成死鎖
volatile輕量級鎖,不會造成線程阻塞,只能修飾變量,且只能保證變量的修改可見性,無法保證原子性

解決死鎖的方法:

1)盡量使用tryLock(long timeout, TimeUnit unit)的方法(ReentrantLock、ReentrantReadWriteLock),設置超時時間,超時可以退出防止死鎖。 
2)盡量使用java.util.concurrent(jdk 1.5以上)包的并發(fā)類代替手寫控制并發(fā),比較常用的是ConcurrentHashMap、ConcurrentLinkedQueue、AtomicBoolean等等,實際應用中java.util.concurrent.atomic十分有用,簡單方便且效率比使用Lock更高 
3)盡量降低鎖的使用粒度,盡量不要幾個功能用同一把鎖 
4)盡量減少同步的代碼塊

悲觀鎖與樂觀鎖

悲觀鎖用于線程沖突率高的場景,用提前加鎖保證線程安全
樂觀鎖用于線程沖突率底的場景,用修改前后版本號是否一致保證線程安全

未完待續(xù)

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.hztianpu.com/yun/74457.html

相關文章

  • 你和阿里資深架構師之間,差的不僅僅是年齡(進階必看)

    摘要:導讀閱讀本文需要有足夠的時間,筆者會由淺到深帶你一步一步了解一個資深架構師所要掌握的各類知識點,你也可以按照文章中所列的知識體系對比自身,對自己進行查漏補缺,覺得本文對你有幫助的話,可以點贊關注一下。目錄一基礎篇二進階篇三高級篇四架構篇五擴 導讀:閱讀本文需要有足夠的時間,筆者會由淺到深帶你一步一步了解一個資深架構師所要掌握的各類知識點,你也可以按照文章中所列的知識體系對比自身,對自己...

    huaixiaoz 評論0 收藏0
  • java

    摘要:多線程編程這篇文章分析了多線程的優(yōu)缺點,如何創(chuàng)建多線程,分享了線程安全和線程通信線程池等等一些知識。 中間件技術入門教程 中間件技術入門教程,本博客介紹了 ESB、MQ、JMS 的一些知識... SpringBoot 多數(shù)據(jù)源 SpringBoot 使用主從數(shù)據(jù)源 簡易的后臺管理權限設計 從零開始搭建自己權限管理框架 Docker 多步構建更小的 Java 鏡像 Docker Jav...

    honhon 評論0 收藏0
  • 史上最全阿里 Java 面試題總結

    摘要:以下為大家整理了阿里巴巴史上最全的面試題,涉及大量面試知識點和相關試題。的內存結構,和比例。多線程多線程的幾種實現(xiàn)方式,什么是線程安全。點擊這里有一套答案版的多線程試題。線上系統(tǒng)突然變得異常緩慢,你如何查找問題。 以下為大家整理了阿里巴巴史上最全的 Java 面試題,涉及大量 Java 面試知識點和相關試題。 JAVA基礎 JAVA中的幾種基本數(shù)據(jù)類型是什么,各自占用多少字節(jié)。 S...

    winterdawn 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<