주 나인 교훈 및 실험 보고서 (7)

실험 작업의 세부 정보 :

아날로그 기차역 티켓 프로그램이 완료됩니다.
요구 사항 :
투표 1000 (1) 총 수,
(2) 동시에 티켓 창 (10) 시작,
(3) 제 2 지연 절차 티켓,
티켓을 티켓을 판매하거나 구매 (4) 경우는 음수가 나타나지 않을 수 있습니다 .

실험 코드 :

패키지火车站卖票;

클래스 MyThread는 구현 의 Runnable {                 
    개인 INT 티켓 = 1000;
    공공 무효 실행 () {                                          
        에 대한 ( 내가 = int로 , 내가 0 < 100; 내가 ++) {
            동기 ( 이) {                           
                경우 (티켓> 0) {                                 
                    시도 {
                        Thread.sleep를 ( 100);       
                    }
                    캐치 (예외 : InterruptedException 전자) {
                        e.printStackTrace ();
                    }
                    에서 System.out.println (는 Thread.currentThread () getName () +. "표를 나머지 판매 :"+ - 티켓);   
                }
            }
        }
    }
}

코드를 실행합니다 :

역 티켓 패키지,

공공 클래스 RUN {
    공공 정적 무효 메인 (문자열 []에 args) {
         = 저장하십시오 MyThread 새 새로 만들기 MyThread를 ();      
         (저장, 새로운 새로운 스레드 ". 창 1") 시작 ();               
         새로운 새로운 스레드 (저장, " 창 2 ") 시작 ();.
         새로운 새로운 스레드 (저장, ."창 3 ") 시작 ();
         새로운 새로운 스레드 (저장, ."창 4 ") 시작 ();
         새로운 새로운 스레드 (저장, "창 5 "). ) (시작,
         새로운 새로운 스레드 (저장, "창 6.") 시작 ();
         새로운 새로운 스레드 (저장, 시작 (); "창을 7.")
         새로운 새로운 스레드 (저장, 시작 (); "윈도우 8.")
         새로운 새를 스레드 (저장, . "창 9") 시작 ();
         새로운 Thread (저장 "窗口10")를 시작합니다 ().;
    }
}

 

 

 

실행 샷 :

 

 

교훈 :

1.start ()가 스레드를 시작하는 데 사용되는 시작 메소드가 호출 될 때, 시스템은 사용자 정의 된 서브 태스크를 실행하는 새로운 스레드를 열 것이다.

2.Thread 스레드 작업 클래스, 그것은 스레드의 수를 생성 할 수 있으며, 동시에 작업 할 수 있습니다.

3.run 방법은 사용자 시작 방법으로 스레드를 시작할 때 CPU 시간 스레드 실행, 특정 작업을 수행하는 run 메소드 본문을 입력 할 때, 호출 할 필요가 없습니다.

run 메소드를 오버라이드 (override) 할 필요가 4 스레드 클래스 상속은 특정 작업을 실행 방법에 정의되어 수행된다.

5.thread 클래스 학교가 천천히 아주 명확하지 않지만, 매우 실용적.

 

추천

출처www.cnblogs.com/gyyy/p/11740336.html