Runnable vs Thread
아래와 같이 하나도 특별할 것 없이, Runnable은 Thread 객체에 전달하여 start를 호출,
Thread를 확장한 클래스는 자체적으로 start를 호출하면 된다.
보통의 경우 Thread를 확장하여 사용하는 것이 편리하다.
그러나 이미 다른 클래스를 확장한 클래스의 경우,자바의 특성 상 다중 상속이 불가능하므로 Runnable 인터페이스를 구현하여 이용하면 되겠다.
public class TestApplication { public static void main(String [] args) { TestApplication test = new TestApplication(); test.doTest(); } private void doTest() { RunnableSample r = new RunnableSample(); new Thread(r).start(); RunnableSample2 r2 = new RunnableSample2(); r2.start(); } class RunnableSample implements Runnable{ @Override public void run() { // TODO Auto-generated method stub System.out.println( getClass().getSimpleName() + " run!" ); } } class RunnableSample2 extends Thread{ @Override public void run() { // TODO Auto-generated method stub System.out.println( getClass().getSimpleName() + " run!" ); } } }
출처 : 자바의 신
'java' 카테고리의 다른 글
synchronized 정리 (0) | 2019.09.21 |
---|---|
Thread Priority 와 Daemon Thread (0) | 2019.09.17 |
Simple HashSet 및 Iterator 사용 예제 (0) | 2019.09.16 |
Generic (0) | 2019.09.16 |
System class 의 기본 기능 활용 (0) | 2019.09.16 |