[常规] nanosleep() -- 更精确的延迟[复制链接] beyes4220主题5152帖子3万积分GROAD曲径通幽,安觅芳踪。积分30607发消息电梯直达楼主 发表于 2010-8-22 00:08:53 | 只看该作者 原型:说明:此函数将调用进程挂起,直到 req 里所指的时间结束。req 是 struct timespec 结构体的指针。struct timespec 结构体定义如下:如果在调用 nanosleep() 睡眠期间被信号所中断,nanosleep() 就会返回 -1,同时设置 errno 为 EINTR,并且会将剩余的时间写入由 rem 所指向同样时 struct timespec 类型的结构体中,如果 rem 为 NULL,就不会记录剩余时间。当信号处理完毕时,还会继续调用 nanosleep() 直到剩余时间用完为止。测试程序:运行与输出:上面,^C 表示按下 Ctrl + c 组合键,发出中断函数信号。 from:http://www.groad.net/bbs/thread-2621-1-1.html