mutex クラス (C++ 標準ライブラリ)

mutex 型を表します。 この型のオブジェクトを使用して、プログラム内で相互排他を適用できます。

構文

class mutex;

メンバー

パブリック コンストラクター/デストラクター

Name 説明
mutex mutex オブジェクトを構築します。
~mutex mutex オブジェクトで使用されたすべてのリソースを解放します。

パブリック メソッド

名前 説明
lock 呼び出しスレッドが mutex の所有権を取得するまでそのスレッドをブロックします。
native_handle ミューテックス ハンドルを表す実装固有の型を返します。
try_lock ブロックせずに mutex の所有権を取得しようとします。
unlock mutex の所有権を解放します。

要件

ヘッダー:<mutex>

名前空間:

lock

呼び出しスレッドが mutex の所有権を取得するまでそのスレッドをブロックします。

void lock();

注釈

呼び出しスレッドが既に mutex を所有している場合の動作は未定義です。

コンストラクター

ロックされていない mutex オブジェクトを構築します。
Microsoft によるこのコンストラクターの実装は、constexpr ではありません。

mutex() noexcept;

デストラクターです。

mutex オブジェクトによって使用されるすべてのリソースを解放します。

~mutex();

注釈

デストラクターの実行時にオブジェクトがロックされる場合の動作は未定義です。

native_handle

ミューテックス ハンドルを表す実装固有の型を返します。 ミューテックス ハンドルは、実装固有の方法で使用できます。

native_handle_type native_handle();

戻り値

native_handle_type は、void * としてキャストされる Concurrency::critical_section * と定義されます。

try_lock

ブロックせずに mutex の所有権を取得しようとします。

bool try_lock();

戻り値

メソッドが true の所有権の取得に成功した場合は mutex を返します。それ以外の場合は false を返します。

注釈

呼び出しスレッドが既に mutex を所有している場合の動作は未定義です。

unlock

mutex の所有権を解放します。

void unlock();

注釈

呼び出しスレッドが mutex を所有していない場合の動作は未定義です。

関連項目

ヘッダー ファイル リファレンス
<mutex>