[java] 쓰레드 풀의 종류

쓰레드 풀은 동시에 실행되는 작업의 수를 제한하고, 쓰레드를 효과적으로 관리하는 데 사용됩니다. 자바에서는 다양한 종류의 쓰레드 풀을 제공하고 있습니다.

1. Cached 쓰레드 풀

Cached 쓰레드 풀은 필요에 따라 쓰레드를 생성하고 재사용합니다. 쓰레드가 유휴 상태로 일정 시간 동안 대기한 후에는 종료됩니다. 쓰레드 풀이 필요 이상으로 커지면 쓰레드를 종료하여 자원을 절약할 수 있습니다.

ExecutorService executorService = Executors.newCachedThreadPool();

2. Fixed 쓰레드 풀

Fixed 쓰레드 풀은 고정된 개수의 쓰레드를 유지합니다. 새로운 작업이 제출되면 쓰레드가 사용 가능한 경우에 즉시 시작됩니다. 쓰레드 풀의 크기가 고정되어 있기 때문에 쓰레드 수를 제어할 수 있습니다.

ExecutorService executorService = Executors.newFixedThreadPool(5);

3. Single 쓰레드 풀

Single 쓰레드 풀은 단일 쓰레드로 작업을 처리합니다. 이 쓰레드 풀은 순차적으로 작업을 실행하며, 쓰레드가 종료되면 새로운 쓰레드가 생성됩니다.

ExecutorService executorService = Executors.newSingleThreadExecutor();

쓰레드 풀은 작업의 특성에 맞게 적절한 유형을 선택하여 사용해야 합니다.

참고 자료: