자바에서는 작업 스레드도 객체로 생성되기 때문에 클래스가 필요하다.
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 |