Add semaphore pattern implementation.
Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.
@@ -486,6 +486,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [goworker](https://github.com/benmanns/goworker) - goworker is a Go-based background worker
* [grpool](https://github.com/ivpusic/grpool) - Lightweight Goroutine pool.
* [pool](https://github.com/go-playground/pool) - a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation.
+* [semaphore](https://github.com/kamilsk/semaphore) - Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.
* [tunny](https://github.com/Jeffail/tunny) - A goroutine pool for golang.
