queuing_mutex#

[mutex.queuing_mutex]

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 {
    public:
        queuing_mutex() noexcept;
        ~queuing_mutex();

        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#

queuing_mutex()#

Constructs unlocked queuing_mutex.

~queuing_mutex()#

Destroys unlocked queuing_mutex.