Namespaces
Variants

cnd_wait

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

mutex 가 가리키는 뮤텍스를 원자적으로 잠금 해제하고, cond 가 가리키는 조건 변수에서 cnd_signal 또는 cnd_broadcast 에 의해 스레드가 시그널을 받거나, 또는 허위 웨이크업(spurious wake-up)이 발생할 때까지 블록합니다. 함수가 반환되기 전에 뮤텍스는 다시 잠깁니다.

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

목차

매개변수

cond - 블록할 조건 변수에 대한 포인터
mutex - 블록 기간 동안 잠금 해제할 뮤텍스에 대한 포인터

반환값

thrd_success 성공한 경우, thrd_error 그렇지 않은 경우.

참고문헌

  • C17 표준 (ISO/IEC 9899:2018):
  • 7.26.3.6 cnd_wait 함수 (p: 277)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.26.3.6 cnd_wait 함수 (p: 380)

참고 항목

조건 변수에서 타임아웃과 함께 대기
(함수)
C++ documentation for condition_variable::wait
C++ documentation for condition_variable_any::wait