본문 바로가기

프로그래밍/JAVA

자바에서 쓰레드를 사용하는 방법

자바를 이용해서 프로젝트를 진행하면 사용하는 클래스에 대해서는 거의 모르는 게 없게 된다.

하지만 프로젝트를 할 때에는 잘하다가도 손 놓으면 잊어버리게 되는 것 중 하나가 바로 쓰레드를 사용하는 것이다.

그래서 오늘은 쓰레드를 사용하는 방법에 대해 정리해 보자.

먼저 쓰레드를 사용하기 위해서는 Runnable 인터페이스와 Thread 클래스가 필요하다.

Thread 클래스는 새로운 작업을 맡게되는 일꾼이라고 생각하면 되고, Runnable 인터페이스를 구현하는 객체가 실질적인 일이 되겠다.
또 Runnable 인터페이스를 구현하는 클래스는 run()함수에 쓰레드에서 작업할 일을 넣으면 된다.

그렇다면 간단한 예제를 살펴보도록 하자.

public class Job implements Runnable  {
   public void run() {
      System.out.println("new job");
   }
}

class Main {
   public static void main(String[] args) {
      Runnable job = new Job();
      Thread thread = new Thread(job);
      thread.start();
   }
}


정말 간단한 예제이다. Job이라는 클래스는 Runnable 인터페이스를 구현하는데 run()함수에서는 "new job"이라는 문자열을 한번 출력하게 되어 있다.
Main클래스를 보면 Runnable을 구현한 Job객체를 만들고 이를 Thread 객체의 인자로 넣어 주었다.
그리고 그 쓰레드를 시작하기 위해 thread.start()를 해주었다.
여기서 주의할 것은 Thread객체의 start()메소드를 호출하지 않으면 쓰레드가 절대로 수행되지 않는다는 것이다.