[java] 자바에서 스레드 풀을 사용하는 방법은?
====================================================
자바에서 스레드 풀을 사용하는 것은 애플리케이션의 성능과 확장성을 향상시키는 데 도움이 됩니다. 스레드 풀은 스레드를 관리하고 재사용하는 기능을 제공하여 스레드 생성 및 제거에 따른 오버헤드를 줄여줍니다.
스레드 풀을 사용하기 위해서는 ThreadPoolExecutor
클래스를 사용해야 합니다. 다음은 스레드 풀을 생성하고 사용하는 예제 코드입니다.
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 스레드 풀 생성
ExecutorService executor = Executors.newFixedThreadPool(5);
// 작업 추가
for (int i = 1; i <= 10; i++) {
final int taskId = i;
executor.submit(() -> {
System.out.println("Task " + taskId + " is running.");
// 작업 수행
});
}
// 스레드 풀 종료
executor.shutdown();
}
}
위의 예제에서는 Executors.newFixedThreadPool()
메서드를 사용하여 크기가 5인 스레드 풀을 생성합니다. submit()
메서드를 통해 작업을 스레드 풀에 추가합니다. 작업은 람다식으로 정의되며, 각 작업은 Task {id} is running.
이라는 메시지를 출력하는 간단한 예시입니다.
작업을 모두 추가한 후에는 shutdown()
메서드를 호출하여 스레드 풀을 종료합니다.
스레드 풀을 사용하면 애플리케이션의 리소스 사용을 효율적으로 관리할 수 있으며, 다수의 작업을 동시에 처리하는데 도움이 됩니다.
더 자세한 내용은 다음 Java 독일 문서를 참조하세요.