This library provides an api for semaphore acquire and release