A semaphore is a variable or abstract data type in computer science that is used to restrict access to a shared resource by several threads and avoid critical section problems in a concurrent system like a multitasking operating system. 

Synchronization primitives include semaphores.

A Lightweight document-oriented NoSQL Database for the GO language

CloverDB is the work of a great friend and fellow Computer Scientist, Stefano Scafiti. It is a lightweight NoSQL database designed for being simple and easily maintainable, thanks to its small codebase. The project was inspired by tinyDB.

I contribute where I can to this great project. If you know the Go language, and love to support free open source software like me, you are more than welcome to join the project on its GitHub page.