Mutex クラス

共有リソースを排他的に制御する同期オブジェクトを表します。

構文

class Mutex : public HandleT<HandleTraits::MutexTraits>;

メンバー

パブリック typedef

名前 説明
SyncLock 同期ロックをサポートするクラスのシノニム。

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

名前 説明
Mutex::Mutex Mutex クラスの新しいインスタンスを初期化します。

パブリック メンバー

名前 説明
Mutex::Lock 現在のオブジェクト、または指定されたハンドルに関連付けられている Mutex オブジェクトがミューテックスを解放するか、指定されたタイムアウト間隔が経過するまで待機します。

パブリック演算子

名前 説明
Mutex::operator= 指定された Mutex オブジェクトを現在の Mutex オブジェクトに割り当てます (移動します)。

継承階層

Mutex

必要条件

ヘッダー: corewrappers.h

名前空間: Microsoft::WRL::Wrappers

Mutex::Lock

現在のオブジェクト、または指定されたハンドルに関連付けられている Mutex オブジェクトがミューテックスを解放するか、指定されたタイムアウト間隔が経過するまで待機します。

SyncLock Lock(
   DWORD milliseconds = INFINITE
);

static SyncLock Lock(
   HANDLE h,
   DWORD milliseconds = INFINITE
);

パラメーター

milliseconds
タイムアウト間隔 (ミリ秒単位)。 既定値は INFINITE で、無制限に待機します。

h
Mutex オブジェクトのハンドル。

戻り値

Mutex::Mutex

Mutex クラスの新しいインスタンスを初期化します。

explicit Mutex(
   HANDLE h
);

Mutex(
   _Inout_ Mutex&& h
);

パラメーター

h
Mutex オブジェクトへのハンドル、またはハンドルへの右辺値参照。

解説

最初のコンストラクターは、指定されたハンドルから Mutex オブジェクトを初期化します。 2 番目のコンストラクターは、指定されたハンドルから Mutex オブジェクトを初期化し、ミューテックスの所有権を現在の Mutex オブジェクトに移動します。

Mutex::operator=

指定された Mutex オブジェクトを現在の Mutex オブジェクトに割り当てます (移動します)。

Mutex& operator=(
   _Inout_ Mutex&& h
);

パラメーター

h
Mutex オブジェクトへの右辺値参照。

戻り値

現在の Mutex オブジェクトへの参照。

解説

詳細については、「右辺値参照宣言子: &&」セクションの「セマンティクスの移動」をご覧ください。