실험 작업의 세부 정보 :
아날로그 기차역 티켓 프로그램이 완료됩니다.
요구 사항 :
투표 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 클래스 학교가 천천히 아주 명확하지 않지만, 매우 실용적.