Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
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.