This provides a much safer semaphore than the QSem, QSemN, SampleVar in base. Those base modules are not exception safe and can be broken by killThread. WWW: https://github.com/ChrisKuklewicz/SafeSemaphore