// 1. Thread 클래스 상속
public class MyThread1 extends Thread {
@Override
public void run() {
for(int i = 0; i < 100; i++) {
System.out.println("MyThread1: " + i);
}
}
}
// 2. Runnable 인터페이스 구현
public class MyThread2 implements Runnable {
@Override
public void run() {
for(int i = 0; i < 100; i++) {
System.out.println("MyThread2: " + i);
}
}
}
// main
public class Main {
public static void main(String[] args) {
MyThread1 myThread1 = new MyThread1();
Thread myThread2 = new Thread(new MyThread2());
myThread1.start();
myThread2.start();
for(int i = 0; i < 100; i++) {
System.out.println("Main Thread: " + i);
}
}
}
메소드
.run()
.start()
.join()
.sleep()
.setPriority() // 기본은 5, 우선 수위는 내림차순


static sleep(): 지정된 시간 Thread를 일시정지
void join(): 지정된 시간 동안 Thread가 실행되도록 함
void interupt(): sleep(), join()에 의해 일시정시 상태의 Thread를 실행 대시 상태로 만듦
void stop(): Thread 즉시 종료
void suspend(): Thread 일시 정지
void resume(): suspend()에 의해 일시 정지 상태의 Thread를 실행 대시 샅애로 만듦
static yield(): 다른 Thread에게 할당된 시간 양보 후 실행대기 상태로 진입