下面tim.tv_sec
和tim.tv_nsec
的用途是什么?
如何在500000
微秒内休眠执行?
#include <stdio.h>
#include <time.h>
int main()
{
struct timespec tim, tim2;
tim.tv_sec = 1;
tim.tv_nsec = 500;
if(nanosleep(&tim , &tim2) < 0 )
{
printf("Nano sleep system call failed \n");
return -1;
}
printf("Nano sleep successfull \n");
return 0;
}
最佳答案
半秒是500,000,000纳秒,因此您的代码应为:
tim.tv_sec = 0;
tim.tv_nsec = 500000000L;
事实证明,您的代码正在休眠1.0000005s(1s + 500ns)。
关于c - 如何在C语言中使用nanosleep()?什么是 `tim.tv_sec`和 `tim.tv_nsec`?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7684359/