在C语言中,nanosleep()函数用于将当前线程挂起一段指定的时间。
nanosleep()函数的原型如下:
int nanosleep(const struct timespec *req, struct timespec *rem);
参数说明:
返回值:
示例用法:
#include <stdio.h>
#include <time.h>
int main() {
struct timespec req, rem;
req.tv_sec = 2; // 设置挂起时间为2秒
req.tv_nsec = 500000000; // 设置挂起时间为500毫秒
int result = nanosleep(&req, &rem);
if (result == -1) {
printf("nanosleep failed\n");
return 1;
}
printf("Slept for %ld seconds and %ld nanoseconds\n", req.tv_sec - rem.tv_sec, req.tv_nsec - rem.tv_nsec);
return 0;
}
在上述示例中,nanosleep()函数被用来挂起当前线程2.5秒。在函数调用后,程序会打印出实际挂起的时间。