亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java 線程死鎖的問(wèn)題解決辦法

 更新時(shí)間:2017年09月25日 14:58:34   作者:Lovnx  
這篇文章主要介紹了 Java 線程死鎖的問(wèn)題解決辦法的相關(guān)資料,希望通過(guò)本大家能幫助到大家,遇到類似問(wèn)題能夠解決,需要的朋友可以參考下

 Java 線程死鎖的問(wèn)題解決辦法

【線程死鎖】 

原因:兩個(gè)線程相互等待被對(duì)方鎖定的資源

代碼模擬:

public class DeadLock {
  public static void main(String[] args) {
    Object obj = new Object();
    Object obj1 = new Object();
    DeadLockThread1 D1 = new DeadLockThread1(obj, obj1);
    DeadLockThread2 D2 = new DeadLockThread2(obj, obj1);
    new Thread(D1,"線程1").start();
    new Thread(D2,"線程2").start();
  }
}

class DeadLockThread1 implements Runnable {
  private Object obj;
  private Object obj1;

  public DeadLockThread1(Object obj, Object obj1) {
    this.obj = obj;
    this.obj1 = obj1;
  }

  @Override
  public void run() {
    synchronized (obj) {   //DeadLockThread1鎖定obj對(duì)象
      try {
        Thread.sleep(1000);
        synchronized (obj1) { //等待鎖定obj1對(duì)象,obj對(duì)象已被DeadLockThread2鎖定
          obj1.getClass();
        }
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
}

class DeadLockThread2 implements Runnable {
  private Object obj;
  private Object obj1;

  public DeadLockThread2(Object obj, Object obj1) {
    this.obj = obj;
    this.obj1 = obj1;
  }

  @Override
  public void run() {
    synchronized (obj1) {   //DeadLockThread2鎖定obj2對(duì)象
      try {
        Thread.sleep(1000);
        synchronized (obj) { //等待鎖定obj對(duì)象,obj對(duì)象已被DeadLockThread1鎖定
          obj.getClass();
        }
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
}

查看方式:

1、【cmd】下輸入【jconsole】

2、選擇測(cè)試線程并點(diǎn)擊右下角【連接】,左上角選擇【線程】,左下角選擇【檢測(cè)死鎖】

如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望通過(guò)本文能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Apache?Arrow?Parquet存儲(chǔ)與使用

    Apache?Arrow?Parquet存儲(chǔ)與使用

    這篇文章主要為大家介紹了Apache?Arrow?Parquet存儲(chǔ)與使用原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • SpringBoot發(fā)現(xiàn)最新版Druid重大問(wèn)題(坑)

    SpringBoot發(fā)現(xiàn)最新版Druid重大問(wèn)題(坑)

    這篇文章主要介紹了SpringBoot發(fā)現(xiàn)最新版Druid重大問(wèn)題(坑),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Springboot登錄驗(yàn)證的統(tǒng)一攔截處理的實(shí)現(xiàn)

    Springboot登錄驗(yàn)證的統(tǒng)一攔截處理的實(shí)現(xiàn)

    如果不進(jìn)行統(tǒng)一的攔截處理,每次用戶請(qǐng)求你都要去進(jìn)行用戶的信息驗(yàn)證,所以本文主要介紹了Springboot登錄驗(yàn)證的統(tǒng)一攔截處理的實(shí)現(xiàn),感興趣的可以了解一下,感興趣的可以了解一下
    2023-09-09
  • minio的下載和springboot整合minio使用方法

    minio的下載和springboot整合minio使用方法

    本文介紹了如何通過(guò)Docker拉取MinIO鏡像,并創(chuàng)建MinIO容器的過(guò)程,首先,需要在本地創(chuàng)建/data和/conf兩個(gè)目錄用于掛載MinIO的數(shù)據(jù)和配置文件,接下來(lái),通過(guò)docker?run命令啟動(dòng)容器,設(shè)置MinIO的訪問(wèn)端口、用戶名、密碼等信息,感興趣的朋友一起看看吧
    2024-09-09
  • 深入理解SpringMVC的參數(shù)綁定與數(shù)據(jù)響應(yīng)機(jī)制

    深入理解SpringMVC的參數(shù)綁定與數(shù)據(jù)響應(yīng)機(jī)制

    本文將深入探討SpringMVC的參數(shù)綁定方式,包括基本類型、對(duì)象、集合等類型的綁定方式,以及如何處理參數(shù)校驗(yàn)和異常。同時(shí),本文還將介紹SpringMVC的數(shù)據(jù)響應(yīng)機(jī)制,包括如何返回JSON、XML等格式的數(shù)據(jù),以及如何處理文件上傳和下載。
    2023-06-06
  • 一個(gè)合格JAVA軟件工程師應(yīng)該具備什么

    一個(gè)合格JAVA軟件工程師應(yīng)該具備什么

    一個(gè)合格JAVA軟件工程師應(yīng)該具備哪些專業(yè)技能,面試技巧是什么?本文為大家分享了2016版最新Java軟件工程師就業(yè)思維圖,感興趣的小伙伴們可以參考一下
    2016-11-11
  • restTemplate未設(shè)置連接數(shù)導(dǎo)致服務(wù)雪崩問(wèn)題以及解決

    restTemplate未設(shè)置連接數(shù)導(dǎo)致服務(wù)雪崩問(wèn)題以及解決

    面對(duì)線上問(wèn)題,仔細(xì)分析原因,及時(shí)調(diào)整配置,能有效解決問(wèn)題,本文詳細(xì)描述了線上遇到流量突增引發(fā)的問(wèn)題,通過(guò)查看代碼和連接池信息,分析出問(wèn)題的原因是連接池滿了,連接池大小配置不足以應(yīng)對(duì)大并發(fā)流量,通過(guò)調(diào)整連接池大小配置
    2024-10-10
  • Java線性結(jié)構(gòu)中的雙向鏈表實(shí)現(xiàn)原理

    Java線性結(jié)構(gòu)中的雙向鏈表實(shí)現(xiàn)原理

    這篇文章將給大家詳細(xì)講解雙向鏈表的內(nèi)容,尤其是會(huì)通過(guò)代碼來(lái)進(jìn)行鏈表的操作,文中的代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Java多態(tài)(動(dòng)力節(jié)點(diǎn)Java學(xué)院整理)

    Java多態(tài)(動(dòng)力節(jié)點(diǎn)Java學(xué)院整理)

    多態(tài)是指允許不同類的對(duì)象對(duì)同一消息做出響應(yīng)。即同一消息可以根據(jù)發(fā)送對(duì)象的不同而采用多種不同的行為方式。接下來(lái)通過(guò)本文給大家介紹java多態(tài)相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧
    2017-04-04
  • Idea2024創(chuàng)建Maven項(xiàng)目沒(méi)有src文件夾的解決步驟

    Idea2024創(chuàng)建Maven項(xiàng)目沒(méi)有src文件夾的解決步驟

    本文主要介紹了Idea2024創(chuàng)建Maven項(xiàng)目沒(méi)有src文件夾,文中通過(guò)圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02

最新評(píng)論