반응형
[ ] 자바의 정석 기초편 카테고리
chapter 13 쓰레드
chapter 13-10 싱글쓰레드와 멀티쓰레드 예제2
예제 13-3
[ ] 코드 분석
1. 원본 코드
class Ex13_3 {
static void startTime = 0;
public static void main(String args[]) {
ThreadEx3_1 th1 = new ThreadEx3_1();
th1.start();
startTime = System.currentTimeMillis();
for(int i=0; i < 300; i++)
System.out.printf("%s", new String("-"));
System.out.print("소요시간1: " + (System.currentTimeMillis()
- Ex13_3.startTime));
}
}
class Thread3_1 extends Thread {
public void run() {
for(int i=0; i < 300; i++) {
System.out.printf("%s", new String("|"));
System.out.print("소요시간2:" + (System.currentTimeMillis()
- Ex13_3.startTime));
}
}
2. 해석본
class Ex13_3 {
// Ex13_3 클래스 선언
static long startTime = 0;
// long형 정적변수 start
public static void main(String args[]) {
// 접근제어자 public으로 메모리에 상주하게 리턴값이 없이 main 메서드 선언
ThreadEx3_1 th1 = new ThreadEx3_1();
// ThreadEx3_1 클래스의 인스턴스 th1 선언
th1.start();
// 인스턴스 th1의 메서드 start() 선언
startTime = System.currentTimeMillis();
// System클래스의 메서드의 연산결과를 startTime 변수에 저장
// for문 선언
for(int i=0; i < 300; i++)
System.out.printf("%s", new String("-"));
System.out.print("소요시간1: " + (System.currentTimeMillis()
- Ex13_3.startTime));
}
}
class Thread3_1 extends Thread {
// Thread 클래스를 상속하는 Thread3_1 클래스 선언
public void run() {
// 접근제어자 public으로 리턴값이 없이 run() 메서드 선언
for(int i=0; i < 300; i++) {
// for문 선언
System.out.printf("%s", new String("|"));
System.out.print("소요시간2:" + (System.currentTimeMillis()
- Ex13_3.startTime));
}
}
반응형
'프로그래밍 > 자바의 정석 기초편 코드 분석' 카테고리의 다른 글
자바의 정석 기초편 코드 분석 129(예제 13-5) (0) | 2023.09.25 |
---|---|
자바의 정석 기초편 코드 분석 128(예제 13-4) (0) | 2023.09.25 |
자바의 정석 기초편 코드 분석 126(예제 13-2) (0) | 2023.09.25 |
자바의 정석 기초편 코드 분석 125(예제 13-1) (0) | 2023.09.25 |
자바의 정석 기초편 코드 분석 124(예제 12-8) (0) | 2023.09.25 |