java
Java Thread와 Runnable
rockettttman
2020. 12. 1. 21:24
Thread 클래스와 Runnable 인터페이스
Java에선 Thread를 구현하는 방법으로는 Thread 클래스와 Runnable 인터페이스가 있다. Thread 클래스를 상속받게 되면 다른 클래스를 상속받을 수 없으나 Runnable 인터페이스를 구현받아 사용하게 되면 다른 클래스를 상속받아 재사용성을 높일 수 있다.
package thread;
public class ThreadTest extends Thread{
int seq;
public ThreadTest(int seq) {
this.seq = seq;
}
public static void main(String[] args) {
/*
aa메소드 실행 시 -> (i 시작 -> i 종료) 반복 -> main end
thread start 시 ->
thread i : 0 started
thread i : 1 started
thread i : 2 started
thread i : 3 started
main end
thread i : 4 started
end : 0
end : 1
end : 2
end : 3
end : 4
*/
for (int i = 0; i < 5; i++) {
// aa(i);
Thread t = new ThreadTest(i);
t.start();
}
System.out.println("main end");
}
public void run() {
System.out.println("thread i : " + seq + " started");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("end : " + seq);
}
// public static void aa(int i) {
// try {
// System.out.println("int i : " + i + " started");
// Thread.sleep(1000);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// System.out.println("end " + i);
// }
}