多线程编程指南

等待时间间隔

cond_reltimedwait(3C)cond_timedwait() 非常相似,区别在于第三个参数的值不同。cond_reltimedwait() 的第三个参数采用相对时间间隔值,而不是绝对时间值。对于 POSIX 线程,请参见 pthread_cond_reltimedwait_np(3C) 手册页。

cond_reltimedwait() 每次返回时,互斥锁均会锁定并由调用线程拥有,即使返回错误时也是如此。cond_reltimedwait() 函数一直阻塞,直到该条件获得信号,或者经过最后一个参数所指定的时间间隔为止。

cond_reltimedwait 语法

#include <thread.h>



int cond_reltimedwait(cond_t *cv, mutex_t *mp,

    timestruct_t reltime);

cond_reltimedwait 返回值

cond_reltimedwait() 在成功运行后返回 0。如果检测到以下任一情况,cond_reltimedwait() 将失败并返回对应的值。


EFAULT

描述:

cv 指向的地址非法。


ETIME

描述:

reltime 指定的时间已过期。