java
자바의 쓰레드 풀 (ExecutorService)
1. 쓰레드 풀 (Thread Pool) 자바에서, 쓰레드는 운영체제 리소스인 시스템 수준의 쓰레드와 관련이 있다. 만일 무분별하게 쓰레드를 생성한다면, 빠르게 리소스 고갈을 만나게 될 것이다. 운영체제는 병렬 수행을 위해 쓰레드 간 컨텍스트 스위칭(context switching)을 한다. 간단히 생각하면, 쓰레드를 더 많이 생성할수록, 쓰레드가 실제 하는 작업 시간은 줄어들게 된다. 쓰레드 풀(Thread Pool) 패턴은 멀티쓰레드 애플리케이션에서 리소스를 절약하는데 도움을 주고 사전에 정의된 수를 제한하여 병렬성을 유지할 수 있게 한다. 쓰레드 풀을 사용할 때, 병렬 작업의 형태로 동시성 코드를 작성하고 쓰레드 풀 인스턴스에서 실행한다. 이 인스턴스는 작업을 실행하는데 여러 개의 쓰레드를 재사용하..
2023. 10. 26. 13:15