thrd_sleep函数
概要:
#include <threads.h> int thrd_sleep(const struct timespec *duration, struct timespec *remaining);
描述:
该函数暂停调用线程的执行,直至经过参数duration指定的时间间隔或者接收到不能被忽略的信号。如果暂停是由于接收到信号而中断,并且参数remaining不是空指针,剩余的暂停时间将存储到参数remaining指向的对象中。参数duration和参数remaining可以指向相同对象。
由于暂停时间会被舍入到系统时间分辨率的整数倍或者由于系统对其它活动的调度,线程实际暂停时间可能大于请求的暂停时间。除被信号中断的情况外,线程暂停时间(使用系统时钟TIME_UTC测量。)不会小于参数duration指定的时间。
参数:
const struct timespec *duration
指向struct timespec类型对象的指针,该对象指定线程暂停时间。
struct timespec *remaining
指向struct timespec类型对象的指针,该对象存储由于信号原因剩余的线程暂停时间。
返回值:
如果暂停了函数请求的时间,函数返回0;如果暂停被信号中断,函数返回-1;如果调用失败,函数返回一个负值(该负值也可能是-1。)。
范例:
|
|
输出:
UTC time:2018-03-07 01:08:00
UTC time:2018-03-07 01:08:05
注:使用Pelles C编译。
相关内容:
thrd_current | 标识调用线程的函数。 |
thrd_detach | 分离线程的函数。 |
thrd_equal | 测试两个线程是否为同一线程的函数。 |
thrd_exit | 终止当前线程的函数。 |
thrd_join | 连接线程的函数。 |
thrd_create | 创建线程的函数。 |
thrd_yield | 让其它线程运行的函数。 |