workerpool 썸네일형 리스트형 [Go] 고루틴 워커 풀(Worker Pool) Go언어에서 고루틴은 아주 편리하고 강력한 동시성 도구이지만,제어되지 않은 고루틴은 급격한 리소스 소모와 메모리 누수의 원인이 되기도 합니다.이에 고루틴은 항상 예측 가능한 범위 내에서 관리가 되어야 하며,이를 위한 가장 대표적인 설계 패턴 "워커 풀(Worker Pool)"이 있습니다.이 설계 패턴에 대해서 함께 알아보겠습니다. 1. 워커 풀 (Worker Pool)이 필요한 이유무분별한 리소스 점유 및 오버헤드- 고루틴은 가볍긴 하지만 독립적인 스택 메모리 공간을 차지하게 됩니다.매 작업마다 고루틴을 생성해서 기능을 수행하게 되면, 메모리 사용량이 계속해서 증가하고,Go 런타임 스케줄러가 관리해야 할 대상도 계속 증가해 스케줄링 오버헤드도 발생하게 됩니다.이러한 메모리 사용량 증가와 스케줄링 대상 증.. 더보기 이전 1 다음