java2019. 9. 17. 22:23

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
Posted by easy16