두 스레드가 교대로 홀수 및 짝수 인쇄

공개  등급 을 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 (); 
    } 
}

 

추천

출처www.cnblogs.com/trnanks/p/11517954.html