Runnable 인터페이스를 이용한 스레드 생성 방법

CODEDRAGON Development/Java

반응형

 

 

 

Runnable 인터페이스를 이용한 스레드 생성 방법

·       Runnable은 작업스레드가 실행할 수 있는 코드인 run()메소드를 가지고 있는 객체라는 의미에서 able로 이름이 붙여졌습니다.

·       Runnable 인터페이스를 구현하는 클래스의 인스턴스를 대상으로 Thread 클래스의 인스턴스를 생성하여 스레드를 생성합니다.

·       이 방법은 상속할 클래스가 존재할 때 유용하게 사용됩니다. (다른 클래스를 반드시 상속받아야 할 경우)

·       정리하면 자바에서는 다중상속이 불가능하므로 다른 클래스를 상속받은 상태에서 Thread 클래스를 상속받을 수 없습니다. 그래서 Runnable 인터페이스를 이용하면 다른 클래스를 상속 받더라도 스레드 구현이 가능하게 됩니다.

 

 

 

 

 

단계 설명
1 Runnable 인터페이스를 이용하여 스레드 클래스를 정의하고, run() 메서드 재정의
2 Runnable 인터페이스를 이용하여 정의된 스레드 클래스의 객체 생성
3 생성된 객체를 이용하여 start() 메서드 호출

 

Runnable은 인터페이스이기 때문에 구현 클래스를 만들어야 합니다. Runnable에는 run() 추상메소드가 정의되어 있는데 구현 클래스에서 run()메소드를 재정의해서 작업 스레드가 실행할 코드를 작성하면 됩니다.

Runnable은 작업 내용을 가지고 있는 객체이지 실제 스레드는 아닙니다. 그러므로 Runnable 구현 객체를 생성한 후, 이를 매개값으로 해서 Thread생성자를 호출해야 스레드가 생성됩니다.

public class CreateRunnable implements Runnable{


@Override


public void run(){


}


public static void main(String[] args){


CreateRunnable ct = new CreateRunnable();


Thread t = new Thread(ct);


t.start();


}


 


}