下面tim.tv_sectim.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/

10-12 02:47