mutex Class (STL)
The latest version of this topic can be found at mutex Class (C++ Standard Library)| Microsoft Docs.
Represents a mutex type. Objects of this type can be used to enforce mutual exclusion within a program.
Syntax
class mutex;
Members
Public Constructors
Name | Description |
---|---|
mutex::mutex Constructor | Constructs a mutex object. |
mutex::~mutex Destructor | Releases any resources that were used by the mutex object. |
Public Methods
Name | Description |
---|---|
mutex::lock Method | Blocks the calling thread until the thread obtains ownership of the mutex . |
mutex::native_handle Method | Returns the implementation-specific type that represents the mutex handle. |
mutex::try_lock Method | Attempts to obtain ownership of the mutex without blocking. |
mutex::unlock Method | Releases ownership of the mutex . |
Requirements
Header: mutex
Namespace: std
mutex::lock Method
Blocks the calling thread until the thread obtains ownership of the mutex
.
void lock();
Remarks
If the calling thread already owns the mutex
, the behavior is undefined.
mutex::mutex Constructor
Constructs a mutex
object that is not locked.
constexpr mutex() noexcept;
mutex::~mutex Destructor
Releases any resources that are used by the mutex
object.
~mutex();
Remarks
If the object is locked when the destructor runs, the behavior is undefined.
mutex::native_handle Method
Returns the implementation-specific type that represents the mutex handle. The mutex handle can be used in implementation-specific ways.
native_handle_type native_handle();
Return Value
native_handle_type
is defined as a Concurrency::critical_section *
that's cast as void *
.
mutex::try_lock Method
Attempts to obtain ownership of the mutex
without blocking.
bool try_lock();
Return Value
true
if the method successfully obtains ownership of the mutex
; otherwise, false
.
Remarks
If the calling thread already owns the mutex
, the behavior is undefined.
mutex::unlock Method
Releases ownership of the mutex
.
void unlock();
Remarks
If the calling thread does not own the mutex
, the behavior is undefined.