π§΅ Goroutine Lab β see and step through 27 Go concurrency patterns #5
burrows99
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Goroutine Lab is a hands-on visualizer for Go concurrency β 27 real patterns you can watch run in slow motion, and step through like a debugger.
Every demo is genuine Go (real goroutines, channels,
select,context,sync), instrumented so the browser animates what the runtime is actually doing: goroutines starting and blocking, values flowing through channels, mutexes being held, contexts cancelling.The highlight β open the Go source tab and debug it:
Under the hood it uses Go's own
go/astto strip the instrumentation and map every animation step back to the exact source line, so you read (and step through) clean, idiomatic Go.Patterns include worker pools, fan-out/fan-in, pipelines, semaphores, rate limiting, pub/sub, mutex vs. the data race,
sync.Once, errgroup, graceful shutdown, and the classic goroutine leak (+ the fix).Stack: Go standard library only, Server-Sent Events, and React + Vite with dependency-free SVG. MIT licensed.
π Get started: https://github.com/burrows99/goroutine-lab#install
π₯ There's a 35-second demo right at the top of the README.
Feedback, questions, and PRs are very welcome β adding a new pattern is a great first contribution. What concurrency pattern would you want to see visualized next?
All reactions