null_mutex

[mutex.null_mutex]

null_mutex は、Mutex の要件の概念を構文的にモデル化するクラスですが、何も行いません。Mutex を想定するテンプレートをインスタンス化するのに役立ちますが、実際にそのインスタンスで排他制御は必要ありません。


// <oneapi/tbb/null_mutex.h> ヘッダーで定義 

namespace oneapi { 
namespace tbb { 

    class null_mutex { 
    public: 
        constexpr null_mutex() noexcept; 
        ~null_mutex(); 

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

        class scoped_lock; void lock(); 

        bool try_lock(); 
        void unlock(); 

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

メンバークラス

class scoped_lock

scoped_lock クラスに相当します。Mutex の要件を参照してください。

メンバー関数

null_mutex()

ロック解除されたミューテックスを作成します。

~null_mutex()

ロック解除されたミューテックスを破棄します。

void lock()

ロックを取得します。

bool try_lock()

ロックの取得試みます (非ブロッキング)。

void unlock()

ロックを解放します。