- 고루틴과 채널을 기본으로 select를 활용한 다중 통신, 파이프라인 설계, 타이머·Ticker·Context를 이용한 시간 제한과 취소 처리를 설명.
- 또한 WaitGroup을 통한 작업 동기화, 데이터 경쟁과 경쟁 조건의 차이, Mutex·RWMutex·세마포어·조건 변수·Once·Pool·원자적 연산 등 공유 상태를 안전하게 다루는 방법 설명.
- 동시성 코드의 테스트를 위해 race detector와 synctest를 소개하고, Go 런타임 스케줄러가 고루틴과 OS 스레드를 관리하는 방식도 설명.
- 마지막으로 runtime/metrics, pprof 프로파일링, tracing을 활용한 운영 환경 진단 방법까지 제공.
https://antonz.org/go-concurrency-distilled/
Go concurrency distilled
Interactive mini-book on concurrent programming in Go.
antonz.org
반응형
'【Programming】 > Go' 카테고리의 다른 글
| Go 코드의 GitHub 종속성 제거 (0) | 2026.10.02 |
|---|---|
| Gopherizer - Web project template for Go (0) | 2025.07.13 |
| Ultimate Golang Makefile (0) | 2025.07.13 |
| Starting systems programming: practical systems programming for the contemporary developer (0) | 2025.07.13 |
| Struggling to understand projects structure (0) | 2025.07.13 |
댓글