国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java鎖相關(guān)知識總結(jié)

未東興 / 2746人閱讀

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

鎖的種類:

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

解決死鎖的方法:

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

悲觀鎖與樂觀鎖

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

未完待續(xù)

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/74457.html

相關(guān)文章

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

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

    huaixiaoz 評論0 收藏0
  • java

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

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

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

    winterdawn 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<