Skip to content

Latest commit

 

History

History
33 lines (27 loc) · 872 Bytes

README.md

File metadata and controls

33 lines (27 loc) · 872 Bytes

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