Hermes Wiki

Concurrency Patterns

Goroutines, channels, select, the sync package, context for cancellation.

Why we need this / what value this brings

Concurrency is idiomatic and cheap in Go, but channel misuse (leaks, deadlocks) is the most common source of bugs.

When to use this

Any fan-out/fan-in workload, or propagating cancellation/timeouts through a call chain.

How to use or implement this

context.Context for cancellation end to end, buffered vs unbuffered channels deliberately, not by default.

Research questions

  • (add as research surfaces open questions)

Empty folder — drop notes, links, and findings here as you research.

Hermes Wiki