Additional Go concurrency primitives

Clone this repo:


  1. 1122301 semaphore: better error message when releasing more than held by Jean de Klerk · 4 months ago master
  2. 56d3577 singleflight: fix duplicate deleting key when Forget called by LE Manh Cuong · 4 months ago
  3. e225da7 all: add a go.mod file by Michael Matloob · 6 months ago
  4. 37e7f08 semaphore: add more Acquire documentation by Jean de Klerk · 11 months ago
  5. 42b3178 all: remove x/net/context in favour of context by Jean de Klerk · 10 months ago

Go Sync

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.