는 교착 상태가 될 것입니다, 우리는 객체 O를 다른 스레드가 잠금을 획득하는 경우이 시간에, ㅋ ㅋ ㅋ ㅋ ㅋ ㅋ, 객체 O를 해제 잠금 현재 실행중인 스레드를 실행하는 동안다른 스레드가이 클래스의 정적 동기화 된 메서드를 실행할 때 스레드가 클래스의 인스턴스에 대한 잠금을 획득 할 수 있습니까?
class A {
void m1() {
synchronized (this) {
}
blah blah blah
synchronized (this) {
}
}
}
내 의심의 여지가 있다고 가정합니다. 그렇다면 동기화 된 메서드 대신 동기화 된 블록을 사용해야한다고 어떻게 말할 수 있습니까?
클래스 레벨 잠금을 획득하는 정적 동기화 메소드를 실행하는 스레드 t1이 다른 동기화 된 메소드를 실행하기 위해이 클래스의 인스턴스 잠금을 다른 스레드가 획득 할 수 있습니까?
+1 걱정할 점은 클래스 수준의 잠금이 있고 인스턴스가 잠기는 경우 두 잠금의 잠금 순서에 따라 교착 상태가 발생할 수 있다는 것입니다. – Gray