queuing_rw_mutex#

[mutex.queuing_rw_mutex]

A queuing_rw_mutex is a class that models the ReaderWriterMutex requirement concept. The queuing_rw_mutex is not recursive. The queuing_rw_mutex is fair, threads acquire a lock on a mutex in the order that they request it.

// Defined in header <oneapi/tbb/queuing_rw_mutex.h>

namespace oneapi {
namespace tbb {
    class queuing_rw_mutex {
    public:
        queuing_rw_mutex() noexcept;
        ~queuing_rw_mutex();

        queuing_rw_mutex(const queuing_rw_mutex&) = delete;
        queuing_rw_mutex& operator=(const queuing_rw_mutex&) = delete;

        class scoped_lock;

        static constexpr bool is_rw_mutex = true;
        static constexpr bool is_recursive_mutex = false;
        static constexpr bool is_fair_mutex = true;
    };
} // namespace tbb
} // namespace oneapi

Member classes#

class scoped_lock#

Corresponding scoped_lock class. See the ReaderWriterMutex requirement.

Member functions#

queuing_rw_mutex()#

Constructs unlocked queuing_rw_mutex.

~queuing_rw_mutex()#

Destroys unlocked queuing_rw_mutex.