공개 등급 을 ThreadTest { 공공 정적 무효 메인 (문자열 []에 args) { 스레드 evenThread = 새로운 스레드 ( 새로 PrintEven () "打印奇数" ); 스레드 oddThread = 새로운 스레드 ( 새로 PrintOdd () "打印偶数" ); evenThread.start (); oddThread.start (); } } 클래스 카운트 { 공공 정적 최종 개체 잠금 = 새 개체 (); } 클래스 PrintEven는 구현 의 Runnable { @Override 공개 공극 실행 () { 동기화 (Count.lock) { 위해 ( int로 ; 나는 <10 + I (2) = I = 1 ) { .에서 System.out.println (는 Thread.currentThread () getName () : + " "+ I); Count.lock.notifyAll (); 시도 { Count.lock.wait를 (); } 캐치 (예외 : InterruptedException 전자) { e.printStackTrace (); } } Count.lock.notifyAll (); } } } 클래스PrintOdd이 구현 }실행 가능한 { @Override 공개 공극 실행 () { 동기화 (Count.lock) { 위해 ( int로 I = 2; 나는 <10, I = 2 + ) { .에서 System.out.println (는 Thread.currentThread () getName () + ":"+ I); Count.lock.notifyAll (); 시도 { Count.lock.wait를 (); } 캐치 (예외 : InterruptedException 전자) { e.printStackTrace (); } } Count.lock.notifyAll (); } }