자바 검출 잠 금 사례
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
은행 가 알고리즘 은 자물쇠 가 존재 하 는 지 를 검사 하 는 것 에 속 하 는데 이런 방법 은 실제 적 으로 순환 도로 대기 조건 을 파괴 하 는 것 이다자바 검출 잠 금 사례 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 잠 금 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.