Deep Dive in Go Channels | Michalis Zampetakis
mzampetakis.com · 1,556 words · saved by 1 readers
A brief deep dive in Go Channels with examples and common error cases.
Deep Dive in Go Channels Contents Deep Dive in Go Channels One of the biggest advantages of Go is undoubtedly it’s concurrency management. Goroutines are the main feature that Go uses to achieve this. Goroutines wouldn’t be so easy if there wasn’t for channels. A goroutine is a lightweight thread managed by the Go runtime. Channels are the pipes that connect concurrent goroutines. You can send values into channels from one goroutine and receive those values into another goroutine. How channels work Go provides a simple and straightforward mechanism to manage channels that allows goroutines to
related reading
- Goroutines - Concurrent Programming in Goprogramiz.com
- Frequently Asked Questions (FAQ) - The Go Programming Languagego.dev
- Go select (With Examples)programiz.com
- Notes on structured concurrency, or: Go statement considered harmful - njs blogvorpus.org
- The Go Memory Model - The Go Programming Languagego.dev
- Data Race Detector - The Go Programming Languagego.dev
- Never start a goroutine without knowing how it will stop | Dave Cheneydave.cheney.net
- Go go-to guide · YourBasicyourbasic.org
- Transfer Data Between Threads with Message Passing - The Rust Programming Languagedoc.rust-lang.org
- Channels | Tokio - An asynchronous Rust runtimetokio.rs
- sync package - sync - Go Packagespkg.go.dev
- Effective Go - The Go Programming Languagego.dev