쓰레드( Thread ) #1
쓰레드( Thread ) #1
쓰레드란 프로세스의 작업을 처리하는 '일꾼'같은 개념이다. 프로세스는 프로그램을 수행하기 위해 필요한 데이터와 메모리, 쓰레드로 구성되어 있으며, 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 쓰레드이다.
Java에서 쓰레드를 구현하는 방법은 2가지다.
1. Thread클래스를 상속받는 방법
2. Runnable인터페이스를 구현하는 방법
일반적으로 Runnable인터페이스를 구현하는 방법을 많이 사용한다. 아무래도 클래스를 직접적으로 상속받는 것보단, 인터페이스를 구현하는 편이 상대적으로 유연한 관계를 만들 수 있고, Thread클래스를 상속받게되면 다른 클래스를 상속받을 수 없기 때문이다.
class ThreadEx {
public static void main(String args[]) {
ThreadEx_1 t1 = new ThreadEx_1();
Runnable r = new ThreadEx_2();
Thread t2 = new Thread(r); // Thread(Runnable r)
t1.start(); // t1쓰레드 전용 call stack을 생성한 후, run() 실행
t2.start();
}
}
class ThreadEx_1 extends Thread {
public void run() {
for (int i=0; i<5; i++)
System.out.println(getName()); // Thread클래스의 인스턴스메서드
}
}
class ThreadEx_2 implements Runnable {
public void run() {
for (int i=0; i<5; i++) {
// Thread.currentThread()는 현재 실행중인 쓰레드의 참조값을 반환한다.
System.out.println(Thread.currentThread().getName());
}
}
}
'Programming > Java' 카테고리의 다른 글
[Java] SLF4J 라이브러리 - 추상 Logging Framework (0) | 2019.12.24 |
---|---|
[Java] Date 클래스와 SimpleDateFormat 클래스 (0) | 2019.12.02 |
[Java] java.util.logging - 네이티브 로깅 라이브러리 (0) | 2019.11.21 |
[Java] 익명 클래스 (Anonymous Class) (0) | 2019.09.30 |
[Java] 자바 프로그램 콘솔 실행 ( execute with console ) (0) | 2019.01.22 |
댓글
이 글 공유하기
다른 글
-
[Java] Date 클래스와 SimpleDateFormat 클래스
[Java] Date 클래스와 SimpleDateFormat 클래스
2019.12.02 -
[Java] java.util.logging - 네이티브 로깅 라이브러리
[Java] java.util.logging - 네이티브 로깅 라이브러리
2019.11.21 -
[Java] 익명 클래스 (Anonymous Class)
[Java] 익명 클래스 (Anonymous Class)
2019.09.30 -
[Java] 자바 프로그램 콘솔 실행 ( execute with console )
[Java] 자바 프로그램 콘솔 실행 ( execute with console )
2019.01.22