스레드 생성과 실행
1. 스레드 생성
스레드 생성 - Thread 상속
public class HelloThread extends Thread{
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " : run()");
}
}
// ...
public class HelloThreadMain {
public static void main(String[] args) {
System.out.println(Thread.currentThread().getName() + ": main() start");
HelloThread helloThread = new HelloThread();
System.out.println(Thread.currentThread().getName() + ": start() 호출 전");
helloThread.start();
System.out.println(Thread.currentThread().getName() + ": start() 호출 후");
System.out.println(Thread.currentThread().getName() + ": main() end");
}
}
// 실행 결과
main: main() start
main: start() 호출 전
main: start() 호출 후
Thread-0: run()
main: main() end
스레드 간의 실행 순서는 얼마든지 달라질 수 있다.


데몬 스레드
사용자 스레드
데몬 스레드
스레드 생성 - Runnable 상속
Thread 상속 vs Runnable 구현
Thread 상속
Runnable 구현
2. Runnable 을 만드는 다양한 방법
정적 중첩 클래스 사용
익명 클래스 사용
익명 클래스 변수 없이 직접 전달
람다
Last updated