[java] 롬복을 사용하여 자바 멀티쓰레딩을 어떻게 구현하고 사용할 수 있나요?
자바 멀티쓰레딩을 구현하는 방법
자바에서 멀티쓰레딩을 구현하고 사용하는 방법은 여러 가지가 있습니다. 이 중 롬복(Lombok)을 사용하여 간편하게 멀티쓰레딩을 구현하는 방법을 알아보겠습니다.
1. 롬복(Lombok) 설정하기
먼저, 프로젝트에 롬복을 추가해야 합니다. 롬복은 개발자를 위해 자동으로 메서드, 생성자, 게터/세터 등을 만들어주는 라이브러리입니다. 롬복을 사용하기 위해서는 다음과 같이 설정해야 합니다.
<!-- Maven 사용자의 경우 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<scope>provided</scope>
</dependency>
// Gradle 사용자의 경우
dependencies {
compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'
}
2. @Getter와 @Setter 어노테이션 사용하기
롬복은 @Getter
와 @Setter
어노테이션을 제공하여 간단하게 게터와 세터를 생성할 수 있습니다.
public class ThreadExample {
@Getter @Setter
private String message;
public static void main(String[] args) {
ThreadExample example = new ThreadExample();
example.setMessage("Hello, World!");
System.out.println(example.getMessage());
}
}
위 예제에서 @Getter
어노테이션은 getMessage()
메서드를, @Setter
어노테이션은 setMessage()
메서드를 컴파일시 자동으로 생성해줍니다.
3. Runnable 인터페이스 구현하기
멀티쓰레딩을 구현하기 위해서는 Runnable
인터페이스를 구현해야 합니다. 롬복을 사용하여 간단하게 Runnable
인터페이스를 구현해보겠습니다.
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
@AllArgsConstructor
public class MyRunnable implements Runnable {
private final String message;
@Override
public void run() {
System.out.println(message);
}
}
위 예제에서 @AllArgsConstructor
어노테이션은 생성자를 컴파일시 자동으로 생성해줍니다.
4. 멀티쓰레딩 실행하기
이제 MyRunnable
클래스를 사용하여 멀티쓰레딩을 실행해보겠습니다.
public class MultiThreadExample {
public static void main(String[] args) {
Thread thread1 = new Thread(new MyRunnable("Thread 1"));
Thread thread2 = new Thread(new MyRunnable("Thread 2"));
thread1.start();
thread2.start();
}
}
위 예제에서는 Thread
클래스를 사용하여 MyRunnable
인스턴스를 전달하여 각각의 쓰레드를 생성하고 실행합니다.
마무리
이상으로 롬복을 사용하여 자바 멀티쓰레딩을 구현하는 방법에 대해 알아보았습니다. 롬복을 사용하면 간편하게 필요한 코드를 자동으로 생성할 수 있으므로 개발 효율성을 높일 수 있습니다.