Additional Go concurrency primitives

Clone this repo:
  1. 93782cc errgroup: use WithCancelCause to cancel context by Jon Johnson · 10 weeks ago master
  2. 4966af6 singleflight: example for using Group by Sean Liao · 3 weeks ago
  3. a6666c1 go.mod: upgrade to go 1.17 by Bryan C. Mills · 2 years, 1 month ago
  4. 1ea3257 singleflight: make the check for exec support in TestPanicDoChan platform-agnostic by Bryan C. Mills · 7 weeks ago v0.2.0
  5. 8fcdb60 singleflight: avoid race between multiple Do calls by Cuong Manh Le · 8 months ago internal-branch.go1.20-vendor v0.1.0

Go Sync

Go Reference

This repository provides Go concurrency primitives in addition to the ones provided by the language and “sync” and “sync/atomic” packages.


The easiest way to install is to run go get -u You can also manually git clone the repository to $GOPATH/src/

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see

The main issue tracker for the sync repository is located at Prefix your issue with “x/sync:” in the subject line, so it is easy to find.