命名空间
变体
操作

cnd_wait

来自 cppreference.com
< c‎ | thread
在头文件 <threads.h> 中定义
int cnd_wait( cnd_t* cond, mtx_t* mutex );
(自 C11 起)

原子地解锁由 mutex 指向的互斥锁,并在由 cond 指向的条件变量上阻塞,直到线程被 cnd_signalcnd_broadcast 信号,或者发生虚假唤醒。该互斥锁在函数返回之前再次被锁定。

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

内容

[编辑] 参数

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++ 文档 用于 condition_variable::wait
C++ 文档 用于 condition_variable_any::wait