c – MacOS中是否存在“struct timeval”的nanosleep函数?
发布时间:2020-12-16 06:50:55 所属栏目:百科 来源:网络整理
导读:我在MacOS(OS X El Capitan 10.11.2)中记录时间间隔(至少以毫秒为单位)时遇到问题. 显然,基本思想是将时间记录两次并进行减法.当我发现“sys / time.h”中的gettimeofday()和这个函数的结构 – struct timeval时,问题就发生了.然后我得到了时间间隔,并希望根
我在MacOS(OS X El Capitan 10.11.2)中记录时间间隔(至少以毫秒为单位)时遇到问题.
显然,基本思想是将时间记录两次并进行减法.当我发现“sys / time.h”中的gettimeofday()和这个函数的结构 – struct timeval时,问题就发生了.然后我得到了时间间隔,并希望根据时间间隔让它睡眠.但是,似乎nanosleep()或usleep()没有timeval类型的参数(忽略sleep()因为我至少需要毫秒). 我应该将timeval转换为适合nanosleep()或usleep(),还是有更好更简单的方法? 解决方法
此示例使用select to sleep on timeval值(此处为10秒):
#include <stdio.h> #include <unistd.h> #include <sys/time.h> #include <sys/select.h> int main(void) { printf("start...n"); struct timeval tv = {10,0}; select(0,NULL,&tv); printf("done!n"); return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |