gettimeofday
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gettimeofday相关的知识,希望对你有一定的参考价值。
调用gettimeofday()函数可以获取当前的格林尼治时间和当前时区。它的函数原型是:
int gettimeofday(struct timeval *restrict tp, void *restrict tzp);
gettimeofday的参数涉及两个结构体:
struct timeval{ time_t tv_sec; //秒(从1970.1.1) suseconds_t tv_usec; //微秒 };
struct timezone{ int tz_minuteswest; int tz_dsttime; };
假设现在需要使用pthread_cond_timewait来阻塞一个线程,使用方法如下:
pthread_cond_t cond = PTHREAD_COND_INITIALIZER; pthread_mutex_t lock = PTHREAD_MUTEAX_INITIALIZER; struct timespec timeout; get_timespec(&timeout, 500); pthread_cond_timewait(&cond, &lock, &timeout); void get_timespec(timespec *ts, int millisecond) { struct timeval now; gettimeofday(&now,NULL); ts->tv_sec = now.tv_sec; ts->tv_nsec = now.tv_usec*1000; ts->tv_nsec += millisecond*1000; }
以上是关于gettimeofday的主要内容,如果未能解决你的问题,请参考以下文章
如何在Windows下编制与Linux系统对应的C语言gettimeofday函数