Wednesday, July 11, 2007

thread

/* Runnable을 이용한 Thread */
//인터페이스 Runnable를 구현하여 run()재정의
//메인 메소드와 Top에 있는 run()메소드 동시에 작동

class Top implements Runnable{
//클래스 Top은 인터페이스 Runnable을 구현 - Runnable은 run()메소드 가지고 있음
public void run(){
//run()메소드 재정의
System.out.println("Runnable : Thread run!!");
//스레드 작동하는지 확인할 문자열 출력
}
}

public class Thread_1{
//스레드 생성할 클래스
public static void main(String args[]){ //메인 메소드
System.out.println("Thread start!!"); //문자열 출력
Top t = new Top();
//Top 형의 객체 생성 - Runnable을 구현하는 객체
Thread thd = new Thread(t);
//Thread 형의 객체 생성 (생성자에 Top형 객체생성한 것을 넣어줌)
thd.start();
//스레드 시작 - run()동작
System.out.println("Thread exit!!");
//문자열 출력
}
}

=================================================

/* 상속을 이용한 Thread */
//Thread 클래스를 직접 상속받아 run()메소드를 정의
//메인 메소드와 Top1에 있는 run()메소드 동시에 작동

class Top1 extends Thread {
//Thread 상속받는 클래스 Top1
public void run(){
//run()정의
System.out.println("Inheritance : Thread run!!");
//스레드 작동하는지 확인할 문자열 출력
}
}

public class Thread_2{
//스레드 생성할 클래스
public static void main(String[] args) {
//메인 메소드
System.out.println("Thread start!!");
//문자열 출력
Top1 t = new Top1();
//Top1형 객체 생성
t.start();
//스레드 작동 시킬 start()호출- Runnable을 이용한 방법과는 다르게
//Thread를 상속 받았기때문에 Thread 객체 생성할 필요없이 바로 start()호출가능
System.out.println("Thread end!!");
//문자열 출력
}
}

2 comments:

HyukHo Kim said...

와우~~
돌프~간략하게 잘 했는데...
쓰레드 만드는 방법 2가지는 꼭 암기해라...

HyukHo Kim said...

쏘리...
돌프가 아니었군...ㅡㅡ;;;;
강이방이었어...ㅋㅋㅋㅋㅋ