次の方法で共有


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 で、無制限に待機します。


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

戻り値

Mutex::Mutex

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

explicit Mutex(
   HANDLE h
);

Mutex(
   _Inout_ Mutex&& h
);

パラメーター


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

解説

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

Mutex::operator=

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

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

パラメーター


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

戻り値

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

解説

詳細については、「Rvalue Reference Declarator: &」の「Move Semantics」セクションを参照してください。