conc - better structured concurrency for go

Oct 20, 2023

conc is your toolbelt for structured concurrency in go, making common tasks easier and safer.

The main goals of the package are:

  1. Make it harder to leak goroutines
  2. Handle panics gracefully
  3. Make concurrent code easier to read

In conc, the owner of a goroutine is always a conc.WaitGroup. Goroutines are spawned in a WaitGroup with (*WaitGroup).Go(), and (*WaitGroup).Wait() should always be called before the WaitGroup goes out of scope.

references Go statement considered harmful in the README 😍

↑ up