The read_write_mutex class uses an
Unspecified
locking strategy, so attempts to recursively lock a read_write_mutex
object or attempts to unlock one by threads that don't own a lock on it result in
undefined behavior.
This strategy allows implementations to be as efficient as possible
on any given platform. It is, however, recommended that
implementations include debugging support to detect misuse when
NDEBUG is not defined.