Because there is a very significant performance hit for using the mutex implementation, which correctly checks ownership, this implementation formalizes treating a raw semaphore as a faster, unchecked implementation of mutex.
Because there is a very significant performance hit for using the mutex implementation, which correctly checks ownership, this implementation formalizes treating a raw semaphore as a faster, unchecked implementation of mutex.