Class that models ReaderWriterMutex Concept that is fair and scalable.
queuing_rw_mutex models the ReaderWriterMutex Concept. A
queuing_rw_mutex is scalable, in the sense that if a thread has to wait to acquire the mutex, it spins on its own local cache line. A
queuing_rw_mutex is fair. Threads acquire a lock on a
queuing_rw_mutex in the order that they request it. A queuing_rw_mutex is not recursive.