版权所有 © 2014 tutorialspoint
int nanosleep(const struct timespec *req, struct timespec *rem);
timespec结构用于指定具有纳秒精度的间隔时间。它在<time.h>中指定,其形式为:
struct timespec { time_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ };
纳秒字段的值必须在 0 到 999999999 范围内。
与sleep(3) 和usleep(3) 相比,nanosleep() 的优势在于它不会影响任何信号,它符合 POSIX 标准,它提供更高的计时分辨率,并且它允许更容易地继续被信号中断的睡眠。
在 Linux 2.4 中,如果nanosleep() 被信号(例如,SIGTSTP)停止,则在进程被 SIGCONT 信号恢复后,调用将返回错误EINTR。如果随后重新启动系统调用,则进程在停止状态下花费的时间将不计入睡眠间隔。
sched_setscheduler (2)
timer_create (2)
广告