Runnable을 이용한 스레드 상속
class Top implements Runnalbe{
상속을 이용한 스레드가 사용하기 편하다. 물론 기능상에 차이는 없다.
근데 왜 Runnable이라는 스레드 상용법이 있는 것일까? 다 쓸때가 있어서 그런 거겠지?
보니까 하는 말이 굳이 Runnalbe 인터페이스를 사용하는 이유는 사용하고자 하는 클래스가
다른 클래스를 미리 상속했기 때문이란다. 음.. 역시 말로는 잘 모르겠다.
예제를 보면
import java.awt.*;
class RunFrame extends Frame implemetns Runnalbe{
class Top implements Runnalbe{
public void run(){
for(int i=0; i<50; i++)
System.out.print(i+"\t");
}
}
public class ThreadMain{
public class ThreadMain{
public static void main(String[] args){
System.our.println("프로그램 시작");
Top t = new Top();
Thread td = new Thread(t);
td.start();
....
Top t = new Top();
Thread td = new Thread(t);
td.start();
....
}
}
상속을 이용한 스레드
public class white extends Thread{
상속을 이용한 스레드
public class white extends Thread{
public void run(){
...
}
...
}
상속을 이용한 스레드가 사용하기 편하다. 물론 기능상에 차이는 없다.
근데 왜 Runnable이라는 스레드 상용법이 있는 것일까? 다 쓸때가 있어서 그런 거겠지?
보니까 하는 말이 굳이 Runnalbe 인터페이스를 사용하는 이유는 사용하고자 하는 클래스가
다른 클래스를 미리 상속했기 때문이란다. 음.. 역시 말로는 잘 모르겠다.
예제를 보면
import java.awt.*;
class RunFrame extends Frame implemetns Runnalbe{
public void run(){
int i=0;
System.our.println("Start Thread...");
while(i<20){
System.our.println("Start Thread...");
while(i<20){
System.out.print(i+"\t");
this.setTitle("Thread ..ing.." + i++);
try{
this.setTitle("Thread ..ing.." + i++);
try{
Thread.sleep(1000);
}catch(Exception e)
{
System.out.println(e);}
{
System.out.println(e);}
}
System.out.println("Thread End!");
}
}
public class RunFrameMain{
public class RunFrameMain{
public static void main(String args[]){
RunFrame r = new RunFrame();
r.setSize(300, 100);
r.show();
Thread t = new Thread(r);
t.start();
r.setSize(300, 100);
r.show();
Thread t = new Thread(r);
t.start();
}
}
만약 일반 메서드를 호출하는 방식으로 구현한다면 while문이 끝날때까지 Frame의 다른 작업을 할
수가 없다고 한다. 흠... 먼말이래..ㅡㅡ;
만약 일반 메서드를 호출하는 방식으로 구현한다면 while문이 끝날때까지 Frame의 다른 작업을 할
수가 없다고 한다. 흠... 먼말이래..ㅡㅡ;
'나의 창고 > JAVA' 카테고리의 다른 글
JAVA 파일 읽을 때 필터링 (0) | 2009.08.10 |
---|---|
JAVA 폴더에 있는 파일 정열하여 가져 오는 법 (0) | 2009.08.10 |
JAVA e.printStackTrace() (0) | 2009.07.27 |
JDBC connectionPoll (0) | 2009.07.24 |
eclipes 단축키 (0) | 2009.07.06 |