다음을 통해 공유


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하지 않으면 동작이 정의되지 않습니다.

참고 항목

헤더 파일 참조
<mutex>