A Channel Compendium
summary
Go channels power concrete patterns: close a channel to broadcast start/stop and use closed buffered channels as an end‑of‑stream marker; prefer unbuffered channels unless latency needs buffering; use nil channels to disable select cases; combine select and time.After for timeouts and heartbeats. Examples include spinning up hundreds or tens of thousands of goroutines, a simple memory recycler using a buffered idle channel, and a CloudFlare‑style load balancer with worker getters, per‑worker queues and depth 10 that limits concurrent fetches.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:16Origins of CSP and Hoare
- 2:39Go versus original CSP
- 3:43Channel operations
- 5:10Channel closure
- 6:14Select statements
- 7:42Bidirectional channels
- 8:45Closed/nil channels
- 10:09Hiding state
- 11:34Memory recycling
- 13:47Nil channels blocking
- 15:36Timers and timeouts
- 17:42Go channels advantages
- 18:24Network multiplexing
- 19:53Request-response patterns
- 20:56Load balancer in Go
- 23:26Production with channels
- 24:00Q&A








