본문 바로가기
자바

자바 멀티 스레드 작업 스레드 직접 생성

by cdbitmana 2020. 11. 3.

자바에서는 작업 스레드도 객체로 생성되기 때문에 클래스가 필요하다.

 

java.lang.Thread 클래스를 직접 객체화하거나 Thread 클래스를 상속해서 하위클래스를 만들어 생성할 수도 있다.

 

 

 

Thread 클래스로부터 직접 생성

Thread thread = new Thread(Runnable target);

 

작업 스레드를 직접 생성하려면 Runnable을 매개값으로 갖는 생성자를 호출해야 한다.

Runnable은 인터페이스 타입이기 때문에 구현 객체를 만들어 대입해야 한다.

Runnable에는 run( ) 메소드가 하나 정의되어 있는데, 구현 클래스는 run( )을 재정의해서 작업 스레드가 실행할 코드를 작성한다.

class Task implements Runnable {
    public void run( ) {
    스레드가 실행할 코드;
   }
}

 

Runnable은 작업 내용을 가진 객체이지 실제 스레드가 아니다.

Runnable 구현 객체를 생성 후, 이것을 매개값으로 Thread생성자를 호출해야 작업 스레드가 생성된다.

Runnable task = new Task();
Thread thread = new Thread(task);

 

 

코드를 절약하기 위해 Thread 생성자를 호출할 때 Runnable 익명 객체를 매개값으로 사용할 수 있다.

Thread thread = new Thread( new Runnable( ) {
       public void run( ){
       스레드가 실행할 코드;
       }
});

 

 

작업 스레드는 생성된다고 실행되는 것이 아니라, start( )메소드를 호출해야 실행된다.

thread.start();

'자바' 카테고리의 다른 글

자바 JDBC 프로그래밍  (0) 2020.11.11
자바 멀티 스레드 작업 스레드 하위 클래스로 생성  (0) 2020.11.03
자바 멀티 스레드  (0) 2020.11.03
자바 프로세스와 스레드  (0) 2020.11.03
자바 Math 클래스  (0) 2020.11.03