class MyThread implements Runnable

1187 단어 Java 노트
public class MyThread implements Runnable
{
int count= 1, number;
public MyThread(int num)
{
number = num;
System.out.println("     " + number);
}

public void run()
{
	while(true)
	{
	System.out.println("   " + number + ":   " + count);
	if(++count== 6) return;
	}
}

public static void main(String args[])
{
for(int i = 0; i < 5;i++) 
	new Thread(new MyThread(i+1)).start();

}

}
/*
     1
     2
   1:   1
   1:   2
     3
   1:   3
   1:   4
   2:   1
   1:   5
   3:   1
     4
   3:   2
   3:   3
   2:   2
   3:   4
   4:   1
     5
   4:   2
   4:   3
   3:   5
   2:   3
   2:   4
   5:   1
   4:   4
   5:   2
   5:   3
   5:   4
   5:   5
   2:   5
   4:   5
       . . .
*/

엄밀히 말하면 Thread 하위 클래스를 만드는 실례도 가능하지만 주의해야 할 것은 이 하위 클래스는 Thread 클래스를 덮어쓰는run 방법이 없어야 한다는 것이다. 그렇지 않으면 이 라인이 실행하는 것은 하위 클래스의run 방법이 아니라 우리가 Runnable 인터페이스를 실현하는 클래스의run 방법이 될 것이다. 이에 대해 여러분은 시험해 보셔도 무방하다.
Java Runnable 인터페이스를 사용하여 다중 루틴을 실현하면 우리는 하나의 클래스에서 모든 코드를 포용할 수 있고 봉인에 유리하다. 이 인터페이스의 단점은 한 세트의 코드만 사용할 수 있다는 것이다. 만약에 여러 개의 루틴을 만들고 각 루틴이 다른 코드를 실행하려면 클래스를 추가로 만들어야 한다는 것이다. 만약에 이렇게 된다면대부분의 경우 차라리 여러 종류로 Thread를 각각 계승하는 것이 빠를 수도 있다.

좋은 웹페이지 즐겨찾기