91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

    1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學習站小程序
      隨時隨地免費學習課程

      當前位置:首頁  >  技術(shù)干貨  > ReentrantLock與synchronized的區(qū)別

      ReentrantLock與synchronized的區(qū)別

      來源:千鋒教育
      發(fā)布人:wjy
      時間: 2022-09-20 16:01:21 1663660881

        一. 兩者的共同點

        - 都是用來協(xié)調(diào)多線程對共享對象、變量的訪問

        - 都是可重入鎖,同一線程可以多次獲得同一個鎖

        - 都保證了可見性和互斥性

      ReentrantLock與synchronized的區(qū)別

        二. 兩者的不同點

        - ReentrantLock顯示的獲得、釋放鎖,synchronized隱式獲得釋放鎖

        - ReentrantLock 可響應(yīng)中斷、可輪回,synchronized是不可以響應(yīng)中斷的,為處理鎖的不可用性提供了更高的靈活性

        - ReentrantLock是API級別的,synchronized是JVM級別的

        - ReentrantLock可以實現(xiàn)公平鎖

        - ReentrantLock通過Condition可以綁定多個條件

        - 底層實現(xiàn)不一樣, synchronized是同步阻塞,使用的是悲觀并發(fā)策略,lock是同步非阻塞,采用的是樂觀并發(fā)策略

        - Lock是一個接口,而synchronized是Java中的關(guān)鍵字,synchronized是內(nèi)置的語言實現(xiàn)。

        - synchronized在發(fā)生異常時,會自動釋放線程占有的鎖,因此不會導致死鎖現(xiàn)象發(fā)生;

        而Lock在發(fā)生異常時,如果沒有主動通過unLock()去釋放鎖,則很可能造成死鎖現(xiàn)象,因此使用 Lock 時需要在finally塊中釋放鎖。

        - Lock可以讓等待鎖的線程響應(yīng)中斷,而synchronized卻不行,使用synchronized時,等待的線程會一直等待下去,不能夠響應(yīng)中斷。

        - 通過Lock可以知道有沒有成功獲取鎖,而synchronized卻無法辦到。

        - Lock可以提高多個線程進行讀操作的效率,既就是實現(xiàn)讀寫鎖等。

      tags:
      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
      10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
      請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
      免費領(lǐng)取
      今日已有369人領(lǐng)取成功
      劉同學 138****2860 剛剛成功領(lǐng)取
      王同學 131****2015 剛剛成功領(lǐng)取
      張同學 133****4652 剛剛成功領(lǐng)取
      李同學 135****8607 剛剛成功領(lǐng)取
      楊同學 132****5667 剛剛成功領(lǐng)取
      岳同學 134****6652 剛剛成功領(lǐng)取
      梁同學 157****2950 剛剛成功領(lǐng)取
      劉同學 189****1015 剛剛成功領(lǐng)取
      張同學 155****4678 剛剛成功領(lǐng)取
      鄒同學 139****2907 剛剛成功領(lǐng)取
      董同學 138****2867 剛剛成功領(lǐng)取
      周同學 136****3602 剛剛成功領(lǐng)取
      相關(guān)推薦HOT
      快速通道