Go 동시성 완벽 정리: 고루틴부터 뮤텍스까지

Key Point
Go 동시성의 핵심 패턴과 함정을 한 곳에서 실행 가능한 예제로 배울 수 있으며, 특히 레이스 컨디션과 데이터 레이스의 차이, 뮤텍스와 채널의 선택 기준을 명확히 한다.
핵심 요약
- Go의 동시성 개념을 다루는 미니북으로, 고루틴, 채널, 셀렉트, 파이프라인, 타이머, 컨텍스트 등 19개 주제를 대화형 예제와 함께 설명한다.
- 고루틴은 go 키워드로 시작되는 경량 함수로, OS 스레드보다 수백~수천 개를 생성할 수 있으며, sync.WaitGroup을 통해 완료를 기다린다.
- 채널은 고루틴 간 값 전달의 핵심으로, 송신은 동기식이며 버퍼 크기, 방향 지정(송신 전용, 수신 전용), range 반복을 지원한다.