synchronized 문을 보고합니다.
일부 경우엔 교착 상태가 발생할 수 있으므로 가능하다면 중첩된 동기화를 사용하지 않는 것이 좋습니다.
예:
synchronized (lockA){
//스레드 1에서 lockB 대기 중
synchronized (lockB){ //경고
}
}
...
synchronized (lockB) {
//스레드 2에서 lockA 대기 중
synchronized (lockA) { //경고
}
}