GitHunt
AB

abiosoft/semaphore

Wrapping sync.Mutex for familiar semaphore api

semaphore

Semaphore in Go

Build Status
GoDoc
Go Report Card

Usage

Initiate

import "github.com/abiosoft/semaphore"
...
sem := semaphore.New(5) // new semaphore with 5 permits

Acquire

sem.Acquire() // one
sem.AcquireMany(n) // multiple
sem.AcquireWithin(n, time.Second * 5) // timeout after 5 sec
sem.AcquireContext(ctx, n) // acquire with context

Release

sem.Release() // one
sem.ReleaseMany(n) // multiple

documentation

http://godoc.org/github.com/abiosoft/semaphore

Languages

Go100.0%

Contributors

Apache License 2.0
Created September 18, 2012
Updated September 7, 2024