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

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

namespace oneapi {
namespace tbb {
    class queuing_mutex {
        queuing_mutex() noexcept;

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

        class scoped_lock;

        static constexpr bool is_rw_mutex = false;
        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 Mutex requirement.

Member functions#


Constructs unlocked queuing_mutex.


Destroys unlocked queuing_mutex.