다음을 통해 공유


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를 소유하지 않은 경우, 이 동작은 정의되지 않습니다.

참고 항목

헤더 파일 참조
<mutex>