cnd_timedwait
cnd_timedwait
在头文件 | | |
---|---|---|
int cnd_timedwait(cnd_t * restrict cond,mtx_t * restrict mutex,const struct timespec * restrict time_point); | | (自C11以来) |
原子解开互斥体指向的互斥锁和cond指向的条件变量上的块,直到线程通过cnd_signal或cnd_broadcast发送信号,或直到达到time_point指向的基于TIME_UTC的时间点。 在函数返回之前,互斥锁再次被锁定。
如果互斥体尚未被调用线程锁定,则行为未定义。
参数
cond | - | 指向条件变量的指针以阻止 |
---|---|---|
mutex | - | 指向互斥锁的指针,以在块的持续时间内解锁 |
duration | - | 指向一个对象的指针,指定要等待的超时时间 |
返回值
如果成功则返回 thrd_success,如果在互斥锁被锁定之前达到超时时间,则返回thrd_timedout;如果发生错误,则返回 thrd_error。
参考
- C11标准(ISO / IEC 9899:2011):
扩展内容
cnd_wait(C11) | 块条件变量(函数) |
---|
| 用于wait_until 的C ++文档 |