반응형
[ ] 자바의 정석 기초편 카테고리
chapter 13 쓰레드
chapter 13-29 join()과 yield() 예제
예제 13-11
[ ] 코드 분석
1. 원본 코드
class Ex13_11 {
static long startTime = 0;
public static void main(String args[]) {
ThreadEx11_1 th1 = new ThreadEx11_1();
ThreadEx11_2 th2 = new ThreadEx11_2();
th1.start();
th2.start();
startTime = System.currentTimeMillis();
try {
th1.join(); // main쓰레드가 th1의 작업이 끝날 때까지 기다린다.
th2.join(); // main쓰레드가 th2의 작업이 끝날 때까지 기다린다.\
} catch(InterruptedException e) {}
System.out.print("소요시간:" + (System.currentTimeMillis()
- Ex13_11.startTime());
} // main
}
class ThreadEx11_1 extends Thread {
public void run() {
for(int i=0; i < 300; i++) {
System.out.print(new String("-"));
}
} // run()
}
class ThreadEx11_2 extends Thread{
public void run() {
for(int i=0; i < 300; i++) {
System.out.print(new String("|"));
}
} // run()
}
2. 해석본
class Ex13_11 {
// Ex13_11 클래스 선언
static long startTime = 0;
// long형 정적변수 startTime에 0을 저장
public static void main(String args[]) {
// 접근제어자 public으로 메모리에 상주하게 리턴값이 없이 main 메서드 선언
ThreadEx11_1 th1 = new ThreadEx11_1();
// ThreadEx11_1 클래스의 인스턴스 th1 선언
ThreadEx11_2 th2 = new ThreadEx11_2();
// ThreadEx11_2 클래스의 인스턴스 th2 선언
th1.start();
th2.start();
startTime = System.currentTimeMillis();
// try-catch 문 선언
try {
th1.join(); // main쓰레드가 th1의 작업이 끝날 때까지 기다린다.
th2.join(); // main쓰레드가 th2의 작업이 끝날 때까지 기다린다.\
} catch(InterruptedException e) {}
System.out.print("소요시간:" + (System.currentTimeMillis()
- Ex13_11.startTime());
} // main
}
class ThreadEx11_1 extends Thread {
// Thread를 상속하는 ThreadEx11_1 클래스 선언
public void run() {
// 접근제어자 public이고 리턴값이 없는 메서드 run() 선언
for(int i=0; i < 300; i++) {
// for문 선언
System.out.print(new String("-"));
}
} // run()
}
class ThreadEx11_2 extends Thread{
// Thread 클래스를 상속하는 ThreadEx11_2 클래스 선언
public void run() {
// 접근제어자 public이고 리턴값이 없는 메서드 run() 선언
for(int i=0; i < 300; i++) {
System.out.print(new String("|"));
}
} // run()
}
반응형
'프로그래밍 > 자바의 정석 기초편 코드 분석' 카테고리의 다른 글
자바의 정석 기초편 코드 분석 137(예제 13-13) (0) | 2023.09.26 |
---|---|
자바의 정석 기초편 코드 분석 136(예제 13-12) (0) | 2023.09.26 |
자바의 정석 기초편 코드 분석 134(예제 13-10) (0) | 2023.09.26 |
자바의 정석 기초편 코드 분석 133(예제 13-9) (0) | 2023.09.25 |
자바의 정석 기초편 코드 분석 132(예제 13-8) (0) | 2023.09.25 |