Namespaces
Variants

cnd_timedwait

From cppreference.net
헤더 파일에 정의됨 <threads.h>
int cnd_timedwait ( cnd_t * restrict cond, mtx_t * restrict mutex,
const struct timespec * restrict time_point ) ;
(C11 이후)

mutex 가 가리키는 뮤텍스를 원자적으로 잠금 해제하고, cond 가 가리키는 조건 변수에서 스레드가 cnd_signal 또는 cnd_broadcast 에 의해 신호를 받을 때까지, 또는 TIME_UTC 기반 시간 포인트를 가리키는 time_point 가 지정된 시간에 도달할 때까지, 또는 허위 웨이크업이 발생할 때까지 블록합니다. 함수가 반환되기 전에 뮤텍스는 다시 잠깁니다.

동작은 뮤텍스가 호출 스레드에 의해 이미 잠겨 있지 않은 경우 정의되지 않습니다.

목차

매개변수

cond - 대기할 조건 변수에 대한 포인터
mutex - 대기 기간 동안 잠금 해제할 뮤텍스에 대한 포인터
time_point - 대기할 타임아웃 시간을 지정하는 객체에 대한 포인터

반환값

thrd_success 성공한 경우, thrd_timedout 뮤텍스가 잠기기 전에 타임아웃 시간에 도달한 경우, 또는 thrd_error 오류가 발생한 경우.

참고문헌

  • C17 표준 (ISO/IEC 9899:2018):
  • 7.26.3.5 cnd_timedwait 함수 (p: 276-277)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.26.3.5 cnd_timedwait 함수 (p: 379-380)

참고 항목

조건 변수에서 대기
(함수)
C++ documentation for condition_variable::wait_until
C++ documentation for condition_variable_any::wait_until