[java] 쓰레드 풀 크기 설정 방법

이 포스트에서는 자바에서 쓰레드 풀의 크기를 설정하는 방법에 대해 알아보겠습니다.

쓰레드 풀 크기란?

쓰레드 풀은 스레드의 재사용을 통해 성능을 향상시키는 데 사용됩니다. 쓰레드 풀의 크기는 동시에 실행할 수 있는 작업 수를 결정하며, 너무 작으면 작업을 처리하는 데 시간이 오래 걸릴 수 있고, 너무 크면 불필요한 자원을 소비할 수 있습니다.

쓰레드 풀 크기 설정 방법

자바에서는 ThreadPoolExecutor를 사용하여 쓰레드 풀의 크기를 설정할 수 있습니다. 다음은 ThreadPoolExecutor를 만들고 초기화하는 방법입니다.

import java.util.concurrent.*;

public class ThreadPoolExample {
    public static void main(String[] args) {
        int corePoolSize = 5; // 기본 쓰레드 수
        int maxPoolSize = 10; // 최대 쓰레드 수
        long keepAliveTime = 5000; // 초과된 쓰레드가 제거되기까지 대기 시간
        TimeUnit unit = TimeUnit.MILLISECONDS; // 대기 시간의 단위
        BlockingQueue<Runnable> workQueue = new ArrayBlockingQueue<>(5); // 작업 큐

        ThreadPoolExecutor executor = new ThreadPoolExecutor(corePoolSize, maxPoolSize, keepAliveTime, unit, workQueue);
    }
}

위의 예제에서 corePoolSize는 기본 쓰레드 수, maxPoolSize는 최대 쓰레드 수를 나타내며, 그 외의 매개변수들은 해당 쓰레드가 제거될 때까지의 대기 시간 및 작업 큐 등을 나타냅니다.

결론

쓰레드 풀의 크기는 작업의 처리량과 시스템 자원을 고려하여 적절히 설정해야 합니다. 이를 통해 효율적으로 다중 작업을 처리할 수 있습니다.

참고문헌: