메인스레드

시작될 때 자동으로 생성되는 가장 첫 번째 스레드

 

JVM(Java Virtual Machine)이 프로그램을 실행할 때:

  1. JVM 프로세스 시작
  2. 운영체제가 JVM 프로세스용 메인 스레드 생성
  3. JVM이 자바 코드의 main()을 메인 스레드에 연결
  4. main() 내부 코드 실행 시작
public static void main(String[] args) {
        System.out.println("시작");

        Thread currentThread = Thread.currentThread();

        System.out.println(currentThread.getName()); // 출력 : main

        System.out.println("종료");
    }

 

작업 스레드

멀티스레드로 실행하는 프로그램에서 병렬로 몇개의 작업을 실행할지 결정하고 각 작업별로 스레드를 생성해야 한다.

 

 

1. Thread 클래스로 직접 생성하는 방법

Thread thread = new Thread(Runnable target);
// thread.start()를 통해 실행가능

//아래와 같이 Runnable을 구현가능하다. Task라는 클래스는 매개변수로 갈 수 있게된다.
class Task implements Runnable {
	@Override
    public void run(){
    	//thread 실행코드
    }
}

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

// 또는 아래와 같이 익명구현객체를 통해 구현가능

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

 

 

2. Thread 자식 클래스로 생성

public class WorkerThread extends Thread {

	@Override
    public void run(){
    	//쓰레드가 실행할 코드
    }
}

Thread thread = new WorkerThread();

//또는 아래와 같이 정의가능
Thread thread = new Thread(){
	@override
    public void run(){
    	//실행코드
    }
}

+ Recent posts