java synchronized加載加鎖-線程可重入詳解及實(shí)例代碼
java synchronized加載加鎖-線程可重入
實(shí)例代碼:
public class ReGetLock implements Runnable { @Override public void run() { get(); } public synchronized void get() { System.out.println(Thread.currentThread().getId()); set(); } public synchronized void set() { System.out.println(Thread.currentThread().getId()); } public static void main(String[] args) { ReGetLock rgl = new ReGetLock(); new Thread(rgl).start(); } }
執(zhí)行代碼的線程到底能不能進(jìn)入到set方法呢?
因?yàn)榫€程rgl先調(diào)用了get方法,獲取到了ReGetLock對(duì)象的鎖,那么當(dāng)線程rgl想進(jìn)入標(biāo)有synchronized 關(guān)鍵字的set方法時(shí),會(huì)被阻塞住,一直等待嗎?
其實(shí)是不會(huì)的,在JAVA里面,當(dāng)某個(gè)線程試圖獲得一個(gè)已經(jīng)由它自己持有的鎖,那么這個(gè)請(qǐng)求會(huì)成功。不然會(huì)出現(xiàn)死鎖。
因此像synchronized 這種加鎖機(jī)制,線程是可重入的。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
SpringCloud負(fù)載均衡實(shí)現(xiàn)定向路由詳情
這篇文章主要介紹了SpringCloud負(fù)載均衡實(shí)現(xiàn)定向路由詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08Java之String、StringBuffer、StringBuilder的區(qū)別分析
今天搞安卓在看書(shū)的時(shí)候遇到了StringBuilder這個(gè)類(lèi)型的東東,有點(diǎn)小迷,不知道它跟string、stringbuffer的關(guān)系式怎么樣的,趕快查閱相關(guān)資料,了解了個(gè)大概,拿出來(lái)分享一下2012-11-11springboot配置Jackson返回統(tǒng)一默認(rèn)值的實(shí)現(xiàn)示例
在項(xiàng)目開(kāi)發(fā)中,我們返回的數(shù)據(jù)或者對(duì)象沒(méi)有的時(shí)候一般直接返回的null,那么如何返回統(tǒng)一默認(rèn)值,感興趣的可以了解一下2021-07-07基于Java實(shí)現(xiàn)簡(jiǎn)單的身材計(jì)算程序
這篇文章主要為大家詳細(xì)介紹了如何利用Java實(shí)現(xiàn)簡(jiǎn)單的身材計(jì)算程序,可以計(jì)算身體的體脂率以及BMI數(shù)值等,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-12-12java項(xiàng)目構(gòu)建Gradle的使用教程
這篇文章主要為大家介紹了java項(xiàng)目構(gòu)建Gradle的使用教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03Spring-data-redis操作redis cluster的示例代碼
這篇文章主要介紹了Spring-data-redis操作redis cluster的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10一個(gè)簡(jiǎn)陋的java圖書(shū)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了一個(gè)簡(jiǎn)陋的java圖書(shū)管理系統(tǒng),簡(jiǎn)單的實(shí)現(xiàn)功能測(cè)試,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07微信公眾號(hào)服務(wù)號(hào)推送模板消息設(shè)置方法(后端java)
公眾號(hào)時(shí)經(jīng)常會(huì)需要寫(xiě)推送消息,從網(wǎng)上找了一大堆,都不是很全,所以這篇文章主要介紹了微信公眾號(hào)服務(wù)號(hào)推送模板消息設(shè)置方法的相關(guān)資料,需要的朋友可以參考下2023-02-02