recursive_mutex 클래스
뮤텍스 형식을 나타냅니다. mutex와 달리 이미 잠겨 있는 개체에 대한 잠금 메서드 호출 동작은 적절하게 정의됩니다.
구문
class recursive_mutex;
멤버
공용 생성자
속성 | 설명 |
---|---|
recursive_mutex | recursive_mutex 개체를 생성합니다. |
~recursive_mutex 소멸자 | recursive_mutex 개체에서 사용하는 리소스를 모두 해제합니다. |
공용 메서드
이름 | 설명 |
---|---|
lock | 스레드가 뮤텍스의 소유권을 가져올 때까지 호출 스레드를 차단합니다. |
try_lock | 차단되지 않고 뮤텍스의 소유권을 가져오려고 시도합니다. |
unlock | 뮤텍스의 소유권을 해제합니다. |
요구 사항
헤더:<뮤텍스>
네임스페이스: std
lock
스레드가 mutex
의 소유권을 가져올 때까지 호출 스레드를 차단합니다.
void lock();
설명
호출 스레드가 mutex
를 이미 소유하고 있으면 메서드는 결과를 즉시 반환하며 이전 잠금은 적용된 상태로 유지됩니다.
recursive_mutex
잠기지 않은 recursive_mutex
개체를 생성합니다.
recursive_mutex();
~recursive_mutex
개체에서 사용하는 리소스를 모두 해제합니다.
~recursive_mutex();
설명
소멸자가 실행될 때 개체가 잠겨 있는 경우, 이 동작은 정의되지 않습니다.
try_lock
차단되지 않고 mutex
의 소유권을 가져오려고 시도합니다.
bool try_lock() noexcept;
Return Value
true
메서드가 성공적으로 소유권을 얻거나 호출 스레드가 mutex
이미 소유하는 mutex**; otherwise, **false
경우 .
설명
호출 스레드가 mutex
를 이미 소유하고 있으면 함수는 true
를 즉시 반환하며 이전 잠금은 적용된 상태로 유지됩니다.
unlock
뮤텍스의 소유권을 해제합니다.
void unlock();
설명
이 메서드는 recursive_mutex
개체에 대해 lock 및 try_lock이 정상적으로 호출된 횟수만큼 호출된 후에만 mutex
의 소유권을 해제합니다.
호출 스레드가 mutex
를 소유하지 않은 경우, 이 동작은 정의되지 않습니다.