중첩된 synchronized 문을 보고합니다. 일부 경우엔 교착 상태가 발생할 수 있으므로 가능하다면 중첩된 동기화를 사용하지 않는 것이 좋습니다.

예:


  synchronized (lockA){
    //스레드 1에서 lockB 대기 중
    synchronized (lockB){ //경고
    }
  }
  ...
  synchronized (lockB) {
    //스레드 2에서 lockA 대기 중
    synchronized (lockA) { //경고
    }
  }