Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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.