프로그래밍/자바의 정석 기초편 코드 분석
자바의 정석 기초편 코드 분석 132(예제 13-8)
리드민
2023. 9. 25. 22:08
반응형
[ ] 자바의 정석 기초편 카테고리
chapter 13 쓰레드
chapter 13-8 sleep() 예제
예제 13-8
[ ] 코드 분석
1. 원본 코드
class Ex13_8 {
public static void main(String args[]) {
ThreadEx8_1 th1 = new ThreadEx8_1();
ThreadEx8_2 th2 = new ThreadEx8_2();
th1.start(); th2.start();
try {
th1.sleep(2000);
} catch(InterruptedException e) {}
System.out.print("<<main 종료>>");
} // main
}
class ThreadEx8_1 extends Thread {
public void run() {
for(int i=0; i < 300; i++) System.out.print("-");
System.out.print("<<th1 종료>>");
}
}
class ThreadEx8_2 extends Thread {
public void run() {
for(int i=0; i < 300; i++) System.out.print("|");
System.out.print("<<th2 종료>>");
} // run()
}
2. 해석본
class Ex13_8 {
// Ex13_8 클래스 선언
public static void main(String args[]) {
// 접근제어자 public으로 메모리에 상주하게 리턴값이 없이 main 메서드 선언
ThreadEx8_1 th1 = new ThreadEx8_1();
// ThreadEx8_1 클래스의 인스턴스 th1 선언 ThreadEx8_1 생성자 선언
ThreadEx8_2 th2 = new ThreadEx8_2();
// Thread8_2 클래스의 인스턴스 th2 선언 ThreadEx8_2 생성자 선언
th1.start(); th2.start();
// th1인스턴스의 start() 메서드 선언
try {
th1.sleep(2000);
} catch(InterruptedException e) {}
System.out.print("<<main 종료>>");
} // main
}
class ThreadEx8_1 extends Thread {
// Thread 클래스를 상속하는 ThreadEx8_1 클래스 선언
public void run() {
// 접근제어자 public으로 리턴값이 없이 run() 메서드 선언
for(int i=0; i < 300; i++) System.out.print("-");
// for문 선언
System.out.print("<<th1 종료>>");
// <<th1 종료>> 출력
}
}
class ThreadEx8_2 extends Thread {
// Thread 클래스를 상속하는
public void run() {
// 접근제어자 public으로 리턴값이 없이 run() 메서드 선언
for(int i=0; i < 300; i++) System.out.print("|");
// for문 선언
System.out.print("<<th2 종료>>");
// <<th2 종료>> 출력
} // run()
}
반응형