最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java檢測死鎖案例

 更新時間:2021年07月01日 10:02:54   作者:又起風(fēng)了  
這篇文章主要介紹了Java檢測死鎖案例,本文列舉了導(dǎo)致死鎖的程序,通過使用jconsole工具進(jìn)行檢測等,講述了避免死鎖的方法,需要的朋友可以參考下

導(dǎo)致死鎖的程序

package com.study.train;

import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;
import java.lang.reflect.Field;
import java.util.*;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.FutureTask;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

import static java.lang.Thread.yield;

public class Main extends Thread{
    private Object o1;
    private Object o2;
    Main(Object oa,Object ob,String name) {
        super(name);
        o1 = oa;
        o2 = ob;
    }

    @Override
    public void run() {
        synchronized (o1) {
            System.out.println("thread: "+Thread.currentThread().getName() + " get lock");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            synchronized (o2) {
                System.out.println("two lock is get");
            }
        }
    }

    public static void main(String[] args) throws InterruptedException {
       Object oj1 = new Object();
       Object oj2 = new Object();
       Main m1 = new Main(oj1,oj2,"thread1");
       Main m2 = new Main(oj2,oj1,"thread2");
       m1.start();
       m2.start();
       m1.join();
       m2.join();
    }
}


1.jconsole工具檢測

在這里插入圖片描述

2. jsp+jstack

linux上可以先使用top | grep java,查找忙的線程pid,然后拿到該線程id進(jìn)行分析,jstakc pid。

在這里插入圖片描述

在這里插入圖片描述

避免死鎖的方法

  • 1.盡量避免使用多個鎖
  • 2.如果一定要使用多個鎖,可以考慮順序獲取鎖,這樣就類似破壞了環(huán)路等待條件
  • 3.使用嘗試獲取鎖的方法,如果無法獲取,就將本身已經(jīng)獲取到的鎖釋放,類似破壞不可剝奪條件。
    銀行家算法屬于檢測是不是會存在死鎖,這種做法實際上也是破壞環(huán)路等待條件的發(fā)生。

到此這篇關(guān)于Java檢測死鎖案例的文章就介紹到這了,更多相關(guān)Java死鎖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中閉包簡單代碼示例

    Java中閉包簡單代碼示例

    這篇文章主要介紹了Java中閉包簡單代碼示例,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • SpringBoot訪問接口自動跳轉(zhuǎn)login頁面的問題及解決

    SpringBoot訪問接口自動跳轉(zhuǎn)login頁面的問題及解決

    這篇文章主要介紹了SpringBoot訪問接口自動跳轉(zhuǎn)login頁面的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java中反射的一個簡單使用

    Java中反射的一個簡單使用

    一直感覺Java的反射機(jī)制很強大,JAVA反射技術(shù)在平時我們的開發(fā)中雖然很少會用到,但在我們所使用的框架源碼中是經(jīng)常會用到的。這篇文中就給大家介紹了關(guān)于Java中反射的一個簡單使用,有需要的朋友們下面來一起看看吧。
    2016-11-11
  • Spring Boot 整合單機(jī)websocket的步驟 附github源碼

    Spring Boot 整合單機(jī)websocket的步驟 附github源碼

    websocket 是一個通信協(xié)議,通過單個 TCP 連接提供全雙工通信,這篇文章主要介紹了Spring Boot 整合單機(jī)websocket的步驟(附github源碼),需要的朋友可以參考下
    2021-10-10
  • 深入淺出講解Java集合之Map接口

    深入淺出講解Java集合之Map接口

    這篇文章主要介紹了深入淺出講解Java集合之Map接口,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 基于jfreechart生成曲線、柱狀等圖片并展示到JSP

    基于jfreechart生成曲線、柱狀等圖片并展示到JSP

    這篇文章主要介紹了基于jfreechart生成曲線、柱狀等圖片并展示到JSP,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • JDBC 使用說明(流程、架構(gòu)、編程)

    JDBC 使用說明(流程、架構(gòu)、編程)

    這篇文章主要介紹了JDBC 使用說明,需要的朋友可以參考下
    2015-08-08
  • Spring AOP之@Around,@AfterReturning使用、切不進(jìn)去的解決方案

    Spring AOP之@Around,@AfterReturning使用、切不進(jìn)去的解決方案

    這篇文章主要介紹了Spring AOP之@Around,@AfterReturning使用、切不進(jìn)去的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 老生常談Java String字符串(必看篇)

    老生常談Java String字符串(必看篇)

    下面小編就為大家?guī)硪黄仙U凧ava String字符串(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 使用mybatis的@Interceptor實現(xiàn)攔截sql的方法詳解

    使用mybatis的@Interceptor實現(xiàn)攔截sql的方法詳解

    攔截器是一種基于 AOP(面向切面編程)的技術(shù),它可以在目標(biāo)對象的方法執(zhí)行前后插入自定義的邏輯,本文給大家介紹了使用mybatis的@Interceptor實現(xiàn)攔截sql的方法,需要的朋友可以參考下
    2024-03-03

最新評論

清水河县| 万山特区| 邓州市| 高清| 来安县| 宁阳县| 无极县| 温州市| 信宜市| 涟源市| 化州市| 定襄县| 昌江| 苏尼特左旗| 铁岭县| 军事| 泸州市| 丰县| 禄劝| 玉树县| 左权县| 信宜市| 平顶山市| 瓦房店市| 琼海市| 仁怀市| 高雄县| 仙游县| 德阳市| 凭祥市| 乳山市| 章丘市| 老河口市| 大姚县| 韩城市| 屯昌县| 保靖县| 普陀区| 手游| 谷城县| 安平县|