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

資訊專欄INFORMATION COLUMN

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

未東興 / 2752人閱讀

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

鎖的種類:

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

解決死鎖的方法:

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

悲觀鎖與樂(lè)觀鎖

悲觀鎖用于線程沖突率高的場(chǎng)景,用提前加鎖保證線程安全
樂(lè)觀鎖用于線程沖突率底的場(chǎng)景,用修改前后版本號(hào)是否一致保證線程安全

未完待續(xù)

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

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

相關(guān)文章

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

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

    huaixiaoz 評(píng)論0 收藏0
  • java

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

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

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

    winterdawn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<