자바 검출 잠 금 사례

3012 단어 Java자물쇠검출
잠 금 해제 프로그램

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
Liux 에 서 는 top|grep 자바 를 사용 하여 바 쁜 스 레 드 pid 를 찾 은 다음 이 스 레 드 id 를 가 져 와 분석 할 수 있 습 니 다.jstakc pid.
在这里插入图片描述
在这里插入图片描述
잠 금 을 피 하 는 방법
4
  • 1.여러 개의 자 물 쇠 를 사용 하지 않도록 한다
  • 4.567917.2.여러 개의 자 물 쇠 를 사용 해 야 한다 면 순 서 를 고려 하여 자 물 쇠 를 얻 을 수 있다.그러면 순환 도로 대기 조건 을 파괴 하 는 것 과 유사 하 다4.567917.3.자 물 쇠 를 얻 으 려 고 시도 하 는 방법 을 사용 합 니 다.얻 을 수 없 으 면 자신 이 얻 은 자 물 쇠 를 방출 합 니 다.파괴 불가 조건 과 유사 합 니 다.
    은행 가 알고리즘 은 자물쇠 가 존재 하 는 지 를 검사 하 는 것 에 속 하 는데 이런 방법 은 실제 적 으로 순환 도로 대기 조건 을 파괴 하 는 것 이다자바 검출 잠 금 사례 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 잠 금 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기