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 唤醒,或发生伪唤醒。该函数返回前会重新锁定互斥锁。

如果互斥锁未被当前调用线程锁定,则行为未定义。

目录

参数

cond - 指向要阻塞的条件变量的指针
mutex - 指向在阻塞期间要解锁的互斥锁的指针

返回值

thrd_success 表示操作成功, thrd_error 表示出现错误。

参考文献

  • C17 标准 (ISO/IEC 9899:2018):
  • 7.26.3.6 cnd_wait 函数 (页: 277)
  • C11 标准 (ISO/IEC 9899:2011):
  • 7.26.3.6 cnd_wait 函数 (p: 380)

参见

在条件变量上阻塞,并带有超时限制
(函数)
C++ 文档 关于 condition_variable::wait
C++ 文档 关于 condition_variable_any::wait