timed_mutex 클래스
시간이 지정된 뮤텍스 형식을 나타냅니다. 이러한 형식의 개체를 사용하면 프로그램 내에서 시간이 제한된 차단을 통해 상호 배제를 강제로 수행할 수 있습니다.
구문
class timed_mutex;
멤버
공용 생성자
속성 | 설명 |
---|---|
timed_mutex | 잠기지 않은 timed_mutex 개체를 생성합니다. |
timed_mutex::~timed_mutex 소멸자 | timed_mutex 개체에서 사용하는 리소스를 모두 해제합니다. |
공용 메서드
이름 | 설명 |
---|---|
lock | 스레드가 mutex 의 소유권을 가져올 때까지 호출 스레드를 차단합니다. |
try_lock | 차단되지 않고 mutex 의 소유권을 가져오려고 시도합니다. |
try_lock_for | 지정된 시간 간격으로 mutex 의 소유권 가져오기를 시도합니다. |
try_lock_until | 지정된 시간까지 mutex 의 소유권 가져오기를 시도합니다. |
unlock | mutex 의 소유권을 해제합니다. |
요구 사항
헤더:<뮤텍스>
네임스페이스: std
timed_mutex::lock
스레드가 mutex
의 소유권을 가져올 때까지 호출 스레드를 차단합니다.
void lock();
설명
호출 스레드가 이미 mutex
를 소유하고 있는 경우, 이 동작은 정의되지 않습니다.
timed_mutex::timed_mutex 생성자
잠기지 않은 timed_mutex
개체를 생성합니다.
timed_mutex();
timed_mutex::~timed_mutex 소멸자
mutex
개체에서 사용하는 리소스를 모두 해제합니다.
~timed_mutex();
설명
소멸자가 실행될 때 개체가 잠겨 있는 경우, 이 동작은 정의되지 않습니다.
timed_mutex::try_lock
차단되지 않고 mutex
의 소유권을 가져오려고 시도합니다.
bool try_lock();
Return Value
메서드가 성공적으로 true
의 소유권을 가져오면 mutex
이고, 그렇지 않으면 false
입니다.
설명
호출 스레드가 이미 mutex
를 소유하고 있는 경우, 이 동작은 정의되지 않습니다.
timed_mutex::try_lock_for
차단되지 않고 mutex
의 소유권을 가져오려고 시도합니다.
template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& Rel_time);
매개 변수
Rel_time
메서드가 mutex
의 소유권을 가져오려고 시도하는 최대 시간을 지정하는 chrono::duration 개체입니다.
Return Value
메서드가 성공적으로 true
의 소유권을 가져오면 mutex
이고, 그렇지 않으면 false
입니다.
설명
호출 스레드가 이미 mutex
를 소유하고 있는 경우, 이 동작은 정의되지 않습니다.
timed_mutex::try_lock_until
차단되지 않고 mutex
의 소유권을 가져오려고 시도합니다.
template <class Clock, class Duration>
bool try_lock_for(const chrono::time_point<Clock, Duration>& Abs_time);
bool try_lock_until(const xtime* Abs_time);
매개 변수
Abs_time
임계값을 지정하는 특정 시점으로, 이 시간 경과 후에는 메서드가 더 이상 mutex
의 소유권을 가져오려고 시도하지 않습니다.
Return Value
메서드가 성공적으로 true
의 소유권을 가져오면 mutex
이고, 그렇지 않으면 false
입니다.
설명
호출 스레드가 이미 mutex
를 소유하고 있는 경우, 이 동작은 정의되지 않습니다.
timed_mutex::unlock
mutex
의 소유권을 해제합니다.
void unlock();
설명
호출 스레드가 mutex
를 소유하지 않은 경우, 이 동작은 정의되지 않습니다.