반응형
[ ] 자바의 정석 기초편 카테고리
chapter 13 쓰레드
chapter 13-4 쓰레드의 구현과 실행 예제
예제 13-1
[ ] 코드 분석
1. 원본 코드
class Ex13_1 {
public static void main(String args[]) {
ThreadEx1_1 t1 = new ThreadEx1_1();
Runnable r = new ThreadEx1_2();
Thread t2 = new Thread(r); // 생성자 Thread(Runnable target)
t1.start();
t2.start();
}
}
class ThreadEx1_1 extends Thread {
public void run() {
for(int i=0; i < 5; i++) {
System.out.println(getName()); // 조상인 Thread의 getName()을 호출
}
}
}
class ThreadEx1_2 implements Runnable {
public void run() {
for(int i=0; i < 5; i++) {
// Thread.currentThread() - 현재 실행중인 Thread를 반환한다.
System.out.println(Thread.currentThread().getName());
}
}
}
2. 해석본
class Ex13_1 {
// Ex13_1 클래스 선언
public static void main(String args[]) {
// 접근제어자 public으로 메모리에 상주하게 리턴값이 없이 main 메서드 선언
ThreadEx1_1 t1 = new ThreadEx1_1();
Runnable r = new ThreadEx1_2();
// Runnable 클래스의 인스턴스 r 선언
Thread t2 = new Thread(r); // 생성자 Thread(Runnable target)
t1.start();
// t1 인스턴스의 메서드 start() 선언
t2.start();
// t2 인스턴스의 메서드 start() 선언
}
}
class ThreadEx1_1 extends Thread {
// Thread를 상속하는 클래스 ThreadEx1_1 선언
public void run() {
// 접근제어자 public으로 리턴값이 없는 run() 함수 선언
for(int i=0; i < 5; i++) {
System.out.println(getName()); // 조상인 Thread의 getName()을 호출
}
}
}
class ThreadEx1_2 implements Runnable {
// Runnable를 상속하는 ThreadEx1_2 클래스 선언
public void run() {
// 접근제어자 public으로 리턴값 없는 run() 함수 선언
for(int i=0; i < 5; i++) {
// for문 선언
// Thread.currentThread() - 현재 실행중인 Thread를 반환한다.
System.out.println(Thread.currentThread().getName());
}
}
}
반응형
'프로그래밍 > 자바의 정석 기초편 코드 분석' 카테고리의 다른 글
자바의 정석 기초편 코드 분석 129(예제 13-5) (0) | 2023.09.25 |
---|---|
자바의 정석 기초편 코드 분석 128(예제 13-4) (0) | 2023.09.25 |
자바의 정석 기초편 코드 분석 127(예제 13-3) (0) | 2023.09.25 |
자바의 정석 기초편 코드 분석 126(예제 13-2) (0) | 2023.09.25 |
자바의 정석 기초편 코드 분석 124(예제 12-8) (0) | 2023.09.25 |