Ⅲ. Thread의 생성 및 실행방법
1. Thread 생성방법 및 실행방법
- 생성방법1 : Thread class를 상속받아 run() 메소드 재정의
- 생성방법2 : Runnable interface 구현 (추상메소드(run()) 구현) → Thread 생성자로 Runnable 객체 전달
- 실행방법 : Thread 객체내의 start() 메소드 호출
// Example1
package sample;
// Runnable 인터페이스를 상속해 클래스를 만들면, 멀티 스레드 동작 가능
class Task1 implements Runnable { // Runnable는 인터페이스
public void run() { // run() : 실행한다
// 여기에 스레드가 처리할 작업을 넣어주면 됨
}
}
// Thread 클래스를 상속해 만들어도 멀티 스레드 가능
class Task2 extends Thread {
public void run() {
}
}
// 사실은 main도 스레드였음
public class Main {
public static void main(String[] args) {
// currentThread()는 작업중인 스레드 반환
Thread a = Thread.currentThread();
String name = a.getName(); // 스레드의 이름 반환
System.out.println(name); // main
}
}
// Example2
package sample;
class Task implements Runnable {
public void run() {
int n1 = 10, n2 = 20;
String name = Thread.currentThread().getName();
System.out.println(name + ":" + n1 + n2); // Thread-0:1020
}
}
public class Main {
public static void main(String[] args) {
Task a = new Task(); // 스레드에게 시킬 작업 만들기
Thread t = new Thread(a);
t.start(); // 스레드가 작업을 처리하기 시작
System.out.println("End " + Thread.currentThread().getName()); // End main
}
}
'Programming Language > Java' 카테고리의 다른 글
스레드(Thread) - 5. Thread 동기화 (0) | 2022.07.15 |
---|---|
스레드(Thread) - 4. Thread의 속성 (0) | 2022.07.15 |
스레드(Thread) - 2. Multi-Thread의 필요성 (0) | 2022.07.15 |
스레드(Thread) - 1. Program vs. Process vs. Thread의 개념 (0) | 2022.07.15 |
예외처리 - 3. 예외(Exception) 클래스 사용자 정의 (0) | 2022.07.14 |