欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java synchronized加載加鎖-線程可重入詳解及實例代碼

 更新時間:2017年02月17日 11:47:18   投稿:lqh  
這篇文章主要介紹了java synchronized加載加鎖-線程可重入詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下

java synchronized加載加鎖-線程可重入

實例代碼:

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í)行代碼的線程到底能不能進入到set方法呢?

因為線程rgl先調(diào)用了get方法,獲取到了ReGetLock對象的鎖,那么當(dāng)線程rgl想進入標有synchronized 關(guān)鍵字的set方法時,會被阻塞住,一直等待嗎?

其實是不會的,在JAVA里面,當(dāng)某個線程試圖獲得一個已經(jīng)由它自己持有的鎖,那么這個請求會成功。不然會出現(xiàn)死鎖。

因此像synchronized 這種加鎖機制,線程是可重入的。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • SpringCloud負載均衡實現(xiàn)定向路由詳情

    SpringCloud負載均衡實現(xiàn)定向路由詳情

    這篇文章主要介紹了SpringCloud負載均衡實現(xiàn)定向路由詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Java之String、StringBuffer、StringBuilder的區(qū)別分析

    Java之String、StringBuffer、StringBuilder的區(qū)別分析

    今天搞安卓在看書的時候遇到了StringBuilder這個類型的東東,有點小迷,不知道它跟string、stringbuffer的關(guān)系式怎么樣的,趕快查閱相關(guān)資料,了解了個大概,拿出來分享一下
    2012-11-11
  • springboot配置Jackson返回統(tǒng)一默認值的實現(xiàn)示例

    springboot配置Jackson返回統(tǒng)一默認值的實現(xiàn)示例

    在項目開發(fā)中,我們返回的數(shù)據(jù)或者對象沒有的時候一般直接返回的null,那么如何返回統(tǒng)一默認值,感興趣的可以了解一下
    2021-07-07
  • 基于Java實現(xiàn)簡單的身材計算程序

    基于Java實現(xiàn)簡單的身材計算程序

    這篇文章主要為大家詳細介紹了如何利用Java實現(xiàn)簡單的身材計算程序,可以計算身體的體脂率以及BMI數(shù)值等,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • hadoop實現(xiàn)grep示例分享

    hadoop實現(xiàn)grep示例分享

    這篇文章主要介紹了hadoop實現(xiàn)grep示例,可從文檔中提取包含某些字符串的行,需要的朋友可以參考下
    2014-03-03
  • java項目構(gòu)建Gradle的使用教程

    java項目構(gòu)建Gradle的使用教程

    這篇文章主要為大家介紹了java項目構(gòu)建Gradle的使用教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Spring-data-redis操作redis cluster的示例代碼

    Spring-data-redis操作redis cluster的示例代碼

    這篇文章主要介紹了Spring-data-redis操作redis cluster的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 淺談springboot與微服務(wù)架構(gòu)

    淺談springboot與微服務(wù)架構(gòu)

    這篇文章主要介紹了淺談springboot與微服務(wù)架構(gòu),SpringBoot是由 Pivotal團隊提供的框架,其設(shè)計?的是?來簡化新Spring應(yīng)?,初始搭建以及開發(fā)過程,該框架使?了特定的?式來進?配置,需要的朋友可以參考下
    2023-07-07
  • 一個簡陋的java圖書管理系統(tǒng)

    一個簡陋的java圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了一個簡陋的java圖書管理系統(tǒng),簡單的實現(xiàn)功能測試,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 微信公眾號服務(wù)號推送模板消息設(shè)置方法(后端java)

    微信公眾號服務(wù)號推送模板消息設(shè)置方法(后端java)

    公眾號時經(jīng)常會需要寫推送消息,從網(wǎng)上找了一大堆,都不是很全,所以這篇文章主要介紹了微信公眾號服務(wù)號推送模板消息設(shè)置方法的相關(guān)資料,需要的朋友可以參考下
    2023-02-02

最新評論