mutex
클래스(C++ 표준 라이브러리)
뮤텍스 형식을 나타냅니다. 이 형식의 객체는 프로그램 내에서 상호 제외를 강제 수행하기 위해 사용될 수 있습니다.
구문
class mutex;
멤버
공용 생성자/소멸자
속성 | 설명 |
---|---|
mutex |
mutex 개체를 생성합니다. |
~mutex |
mutex 개체에서 사용하는 리소스를 모두 해제합니다. |
공용 메서드
이름 | 설명 |
---|---|
lock |
스레드가 mutex 의 소유권을 가져올 때까지 호출 스레드를 차단합니다. |
native_handle |
뮤텍스 핸들을 나타내는 특정 구현 형식을 반환합니다. |
try_lock |
차단되지 않고 mutex 의 소유권을 가져오려고 시도합니다. |
unlock |
mutex 의 소유권을 해제합니다. |
요구 사항
머리글: <mutex>
네임스페이스: std
lock
스레드가 mutex
의 소유권을 가져올 때까지 호출 스레드를 차단합니다.
void lock();
설명
호출 스레드가 이미 mutex
를 소유하고 있는 경우, 이 동작은 정의되지 않습니다.
생성자
mutex
잠겨 있지 않은 개체를 생성합니다.
Visual Studio 2022 17.10 이전에는 Microsoft의 이 생성자 구현이 아니었습니다 constexpr
. 이제입니다 constexpr
.
mutex() noexcept;
Destructor
mutex
개체에서 사용하는 리소스를 모두 해제합니다.
~mutex();
설명
소멸자가 실행될 때 개체가 잠겨 있는 경우, 이 동작은 정의되지 않습니다.
native_handle
뮤텍스 핸들을 나타내는 특정 구현 형식을 반환합니다. 뮤텍스 핸들은 구현별 방식으로 사용할 수 있습니다.
native_handle_type native_handle();
Return Value
native_handle_type
가 로 Concurrency::critical_section *
정의됩니다. 로 캐스팅 void *
되었습니다.
try_lock
차단되지 않고 mutex
의 소유권을 가져오려고 시도합니다.
bool try_lock();
반환 값
메서드가 성공적으로 true
의 소유권을 가져오면 mutex
이고, 그렇지 않으면 false
입니다.
설명
호출 스레드가 이미 mutex
를 소유하고 있는 경우, 이 동작은 정의되지 않습니다.
unlock
mutex
의 소유권을 해제합니다.
void unlock();
설명
호출 스레드가 소유 mutex
하지 않으면 동작이 정의되지 않습니다.