AB-BA는 자주하지만,이 때 잠금 B 도망하지만 스레드를 얻기 위해 다른 스레드 II에서 발견 된, B를 잠금 A를 데리러 잠글 수있는 스레드에서 나타난 다중 스레드 교착 상태를 일으키는 가장 큰 범인입니다 II B는 다음으로 교착 상태에있는 다른 두 개의 스레드를 기다리고, A와 잠금 요구를 잠금
1 개 공용 클래스 주요 { 2 공용 정적 무효 메인 (문자열 []에 args) { 3 에서 System.out.println ( "演示开始" ); (4) 새로운 쓰레드 (() -> { 5 금주 모임 (); 6 }) (시작). 7 새로운 스레드 (() -> { 8 비비 ()는, 9 }).) (시작; 10 } 11 12 정적 클래스 { 13 공용 정적 동기화 공극 A () { 14 시도{ 15 에 Thread.sleep (3000 ); 16 } 캐치 (예외 E) { 17. e.printStackTrace (); 18이다 } (19). (20)은 21이고 , I는 잠금을 얻었다 "(에서 System.out.println 그릇 오는 B 로크 ! " ); (22)가 23 인 비비 (); 24 } 25 } (26)가 27 정적 클래스 B { (28) 공공 정적 동기화 무효 B () { 29 에서 System.out.println ("나는, 잠금 접근 그릇 A B 잠금을 얻었다 ! "온 ) (30) 시도 { 31 에 Thread.sleep (3000 ); 32 } 캐치 (예외 E) { 33 e.printStackTrace (); 34 } 35 금주 모임 (); 36 } 37 } 38 }