github.com/marusama/semaphore/v2 (go): Package semaphore provides an implementation of counting semaphore primitive with possibility to change limit after creation. This implementation is based on Compare-and-Swap primitive that in general case works faster than other golang channel-based semaphore implementations.
Keywords: go|golang|mutex|primitive|semaphore|semaphore-pattern|synchronization