0

我可以将 timeval 结构作为睡眠函数的参数传递吗?我想这样做是因为 timeval 结构可以变得非常精确,因为你可以控制微秒,我想睡一定的微秒。我可以这样做吗?

4

1 回答 1

1

您可以执行以下操作:

struct timeval {long tv_sec; long tv_usec;};

struct timezone {int tz_minuteswest; int tz_dsttime; };    

   struct timeval tp;
   struct timezone tzp;
   int i;

   i = gettimeofday(&tp,&tzp);

并使用它可以实现延迟功能。请看这个例子

但是,如果您想要精确的延迟,您可以使用能够获得更精确延迟的功能,例如nanosleep()

struct timespec tim, tim2;
tim.tv_sec = 1;
tim.tv_nsec = 1000000000L; //1,000,000,000 nanoseconds = 1 second

nanosleep(&tim , &tim2);
/*code after 1 second sleep*/

于 2020-04-21T22:57:26.003 回答