Additional Go concurrency primitives

Clone this repo:
  1. 411f99e LICENSE: update per Google Legal by Russ Cox · 7 days ago master
  2. 14be23e semaphore: cancel acquisition with a done context by Branden Brown · 9 months ago v0.7.0
  3. 59c1ca1 errgroup: add reference to sync.WaitGroup by Olivier Mengué · 9 months ago v0.6.0
  4. 10739b0 all: update go directive to 1.18 by Dmitri Shuralyov · 10 months ago v0.5.0
  5. 22ba207 singleflight: add panicError.Unwrap method by Eric Wohltman · 11 months ago v0.4.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.