Mutex Class
Represents a synchronization object that exclusively controls a shared resource.
Syntax
class Mutex : public HandleT<HandleTraits::MutexTraits>;
Members
Public Typedefs
Name | Description |
---|---|
SyncLock |
A synonym for a class that supports synchronous locks. |
Public Constructor
Name | Description |
---|---|
Mutex::Mutex | Initializes a new instance of the Mutex class. |
Public Members
Name | Description |
---|---|
Mutex::Lock | Waits until the current object, or the Mutex object associated with the specified handle, releases the mutex or the specified time-out interval has elapsed. |
Public Operator
Name | Description |
---|---|
Mutex::operator= | Assigns (moves) the specified Mutex object to the current Mutex object. |
Inheritance Hierarchy
Mutex
Requirements
Header: corewrappers.h
Namespace: Microsoft::WRL::Wrappers
Mutex::Lock
Waits until the current object, or the Mutex
object associated with the specified handle, releases the mutex or the specified time-out interval has elapsed.
SyncLock Lock(
DWORD milliseconds = INFINITE
);
static SyncLock Lock(
HANDLE h,
DWORD milliseconds = INFINITE
);
Parameters
milliseconds
The time-out interval, in milliseconds. The default value is INFINITE, which waits indefinitely.
h
The handle of a Mutex
object.
Return Value
Mutex::Mutex
Initializes a new instance of the Mutex
class.
explicit Mutex(
HANDLE h
);
Mutex(
_Inout_ Mutex&& h
);
Parameters
h
A handle, or an rvalue-reference to a handle, to a Mutex
object.
Remarks
The first constructor initializes a Mutex
object from the specified handle. The second constructor initializes a Mutex
object from the specified handle, and then moves ownership of the mutex to the current Mutex
object.
Mutex::operator=
Assigns (moves) the specified Mutex
object to the current Mutex
object.
Mutex& operator=(
_Inout_ Mutex&& h
);
Parameters
h
An rvalue-reference to a Mutex
object.
Return Value
A reference to the current Mutex
object.
Remarks
For more information, see the Move Semantics section of Rvalue Reference Declarator: &&.