synchronized底層原理 synchronized實現(xiàn)線程同步底層原理是什么?
synchronized實現(xiàn)線程同步底層原理是什么?[面試官:你對同步化了解多少?】 https://toutiao.com/item/6668933435244937731/?app=newsart
synchronized實現(xiàn)線程同步底層原理是什么?
[面試官:你對同步化了解多少?】 https://toutiao.com/item/6668933435244937731/?app=newsarticlesocial&timestamp=1552924652&groupid=6668933435244937731&ttfrom=copylink&utmsource=copylink&utmmedium=toutiaoios&utmcampaign=client一般來說,鎖更靈活。主要相似之處:鎖可以完成所有同步實現(xiàn)的功能。區(qū)別:1。Reentrantlock具有更全面的功能,如時間鎖等待、可中斷鎖等待、鎖投票等,因此具有更高的可擴展性。如果有多個條件變量和高度競爭的鎖,Java中的非靜態(tài)synchronized method和synchronized(this)使用一個鎖,這也表明synchronized(this)和synchronized關(guān)鍵字在非靜態(tài)method
中是Java支持中的同一個鎖。
在Java中,synchronized用于表示同步??梢允褂胹ynchronized修改方法或方法中的語句塊。
在靜態(tài)方法和非靜態(tài)方法之前添加synchronized的區(qū)別在于
靜態(tài)方法屬于class方法,屬于class類別,因此static獲得的鎖屬于class lock。
通過非靜態(tài)方法獲得的鎖是屬于當(dāng)前對象的鎖。
回到問題上來,它們是鎖。同步是一個關(guān)鍵領(lǐng)域。臨界區(qū)是指對該區(qū)域的訪問最多只能在一個線程中進行
鎖定對象后進入臨界區(qū),從而達到串行訪問臨界區(qū)的目的。
希望能幫到你
!