cnd_timedwait

来自cppreference.com
< c‎ | thread
在标头 <threads.h> 定义
int cnd_timedwait( cnd_t* restrict cond, mtx_t* restrict mutex,
                   const struct timespec* restrict time_point );
(C11 起)

原子地解锁 mutex 所指向的互斥体,并在 cond 所指向的条件变量上阻塞,直到线程被 cnd_signalcnd_broadcast 发信号,或直至抵达 time_point 所指向的基于 TIME_UTC 的时间点,或直至虚假唤醒出现。在函数返回前重新锁定该互斥体。

若调用方线程未锁定该互斥体,则行为未定义。

参数

cond - 指向要在上面阻塞的条件变量的指针
mutex - 指向要在阻塞期间解锁的互斥体的指针
time_point - 指向指定等待超时时间的对象的指针

返回值

若成功则为 thrd_success,若在锁定互斥前抵达时限则为 thrd_timedout,若出现错误则为 thrd_error

引用

  • C17 标准(ISO/IEC 9899:2018):
  • 7.26.3.5 The cnd_timedwait function (第 276-277 页)
  • C11 标准(ISO/IEC 9899:2011):
  • 7.26.3.5 The cnd_timedwait function (第 379-380 页)

参阅

在条件变量上阻塞
(函数)