Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Represents a mutex type. Objects of this type can be used to enforce mutual exclusion within a program.
Syntax
class mutex;
Members
Public constructor/destructor
| Name | Description |
|---|---|
mutex |
Constructs a mutex object. |
~mutex |
Releases any resources that were used by the mutex object. |
Public methods
| Name | Description |
|---|---|
lock |
Blocks the calling thread until the thread obtains ownership of the mutex. |
native_handle |
Returns the implementation-specific type that represents the mutex handle. |
try_lock |
Attempts to obtain ownership of the mutex without blocking. |
unlock |
Releases ownership of the mutex. |
Requirements
Header: <mutex>
Namespace: std
lock
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.
Constructor
Constructs a mutex object that isn't locked.
Before Visual Studio 2022 17.10, Microsoft's implementation of this constructor wasn't constexpr. Now it's constexpr.
mutex() noexcept;
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.
native_handle
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 *. It's cast as void *.
try_lock
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.
unlock
Releases ownership of the mutex.
void unlock();
Remarks
If the calling thread doesn't own the mutex, the behavior is undefined.