Concurrency
Goroutines, channels, synchronization, cancellation, select, and worker patterns.
View all topics →Go Context: Cancellation, Deadlines, and Request Values
Learn Go context with practical cancellation, timeout, HTTP request, and goroutine examples.
Read tutorial →Tutorial · Go 1.21+Go Mutex: Protecting Shared State from Race Conditions
A golang mutex tutorial that proves the race first, then teaches Lock/Unlock, RWMutex, the copy bug, atomics, and the honest mutex-vs-channel call.
Read tutorial →Tutorial · Go 1.21+Go select Statement: Multiplexing Channels Explained
Learn Go's select statement with tested code: the random-choice rule, non-blocking default, timeouts, the nil-channel trick, and context cancellation.
Read tutorial →Tutorial · Go 1.21+sync.WaitGroup in Go: Coordinating Multiple Goroutines
A tested golang waitgroup guide: the Add/Done/Wait counter model, the copy-by-value deadlock, the Add-inside-goroutine race, and Go 1.25's WaitGroup.Go.
Read tutorial →Tutorial · Go 1.21+Go Worker Pool Pattern: Bounded Concurrency at Scale
Build a Go worker pool with tested code: bounded concurrency, error propagation, context cancellation, correct channel closing, and how to size the pool.
Read tutorial →