본문 바로가기

IT

Using Runnable Interface

반응형
class MyThread implements Runnable {
public void run() {
//구현부
}
}

이런식으로 구현을 하고,

MyThread를 사용하는 방법은 MyThread만으로는 instance화 해봐야 thread를 시작할 수 없다.
고로 thread에 MyThread를 인수로 넣어서 Upcasting을 이용하여 start()를 실행할 수 있다.

다만, Thread를 이용하여 extends한 class는 곧바로 instace화해서 start()할 수 있다.

고로..

위의 것은,

new Thread(new MyThread).start();
//풀어쓴다면
MyThread myThread = new MyThread();
Thread thread = new Thread(myThread);
thread.start();


로 실행이 가능하고,

class MyThread extends Thread {
//구현
}
이러한 클래스라면

new MyThread.start();
//풀어쓴다면
MyThread myThread = new MyThread();
myThread.start();


로 실행이 가능하다.
반응형