All Projects → abiosoft → semaphore

abiosoft / semaphore

Licence: Apache-2.0 license
Wrapping sync.Mutex for familiar semaphore api

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to semaphore

AtomicKit
Concurrency made simple in Swift.
Stars: ✭ 88 (+125.64%)
Mutual labels:  semaphore, mutex
lockbot
🔒 Coordinate use of your team's shared resources, in Slack 🤝
Stars: ✭ 47 (+20.51%)
Mutual labels:  mutex
mcfgthread
Cornerstone of the MOST efficient std::thread on Windows for mingw-w64
Stars: ✭ 143 (+266.67%)
Mutual labels:  mutex
await-mutex
Promised based Javascript Mutex
Stars: ✭ 36 (-7.69%)
Mutual labels:  mutex
futex
File-based Ruby Mutex
Stars: ✭ 14 (-64.1%)
Mutual labels:  mutex
gpool
gpool - a generic context-aware resizable goroutines pool to bound concurrency based on semaphore.
Stars: ✭ 84 (+115.38%)
Mutual labels:  semaphore
go-csync
Golang: contex-aware synchronization primitives (mutex).
Stars: ✭ 27 (-30.77%)
Mutual labels:  mutex
practice
Java并发编程与高并发解决方案:http://coding.imooc.com/class/195.html Java开发企业级权限管理系统:http://coding.imooc.com/class/149.html
Stars: ✭ 39 (+0%)
Mutual labels:  semaphore
support
A Laravel 5 package which promotes the use of best practices and design patterns
Stars: ✭ 19 (-51.28%)
Mutual labels:  semaphore
run exclusive
⚡🔒 Wait queue for function execution 🔒 ⚡
Stars: ✭ 22 (-43.59%)
Mutual labels:  mutex
concurrency-kit
🚄 Concurrency abstractions framework for Apple Platforms [Task, Atomic, Lock, Operation, etc.].
Stars: ✭ 17 (-56.41%)
Mutual labels:  mutex
mutex
Mutex Server using WebSocket
Stars: ✭ 22 (-43.59%)
Mutual labels:  mutex
mutex
Mutex lock implementation
Stars: ✭ 28 (-28.21%)
Mutual labels:  mutex
distlock
The universal component of distributed locks in golang , support redis and postgresql
Stars: ✭ 60 (+53.85%)
Mutual labels:  mutex
async
Synchronization and asynchronous computation package for Go
Stars: ✭ 104 (+166.67%)
Mutual labels:  mutex
not-enough-standards
A modern header-only C++ library that provides platform-independent utilities.
Stars: ✭ 197 (+405.13%)
Mutual labels:  mutex
semaphore-docs-new
Documentation site for Semaphore.
Stars: ✭ 23 (-41.03%)
Mutual labels:  semaphore
semaphore
The Semaphore Component manages semaphores, a mechanism to provide exclusive access to a shared resource.
Stars: ✭ 28 (-28.21%)
Mutual labels:  semaphore
mutexsafe
MutexSafe will help you use mutex more effectively. Different mutex for different components are presented. In addition, you can add your own lockers and use within the library.
Stars: ✭ 15 (-61.54%)
Mutual labels:  mutex
trylock
TryLock for Go
Stars: ✭ 65 (+66.67%)
Mutual labels:  mutex

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].