This attribute specifies the kind of the mutex created with this attributes object. A fast mutex can be locked only once. If the same thread unlocks twice the same fast mutex, the thread will deadlock.
Any thread can unlock a fast mutex.
A fast mutex is not compatible with the priority inheritance protocol. A recursive mutex can be locked more than once by the same thread without causing that thread to deadlock. The thread must then unlock the mutex as many times as it locked it. Only the thread that locked a recursive mutex can unlock it. A recursive mutex must not be used with condition variables.