天天看点

Linux 环境下C/C++获取系统时间 && 每隔500ms循环一次代码实现

环境:NetBeans IDE 8.2 + 远程主机Linux

获取当前系统时间getCurrentTime()代码如下:

#include<sys/time.h>

long getCurrentTime(){
struct timeval tv;
gettimeofday(&tv,NULL);
return tv.tv_sec*1000+tv.tv_usec/1000;
}
           

每隔500ms循环一次代码实现:

//以下为程序片段

while(true){
unsigned int m;
long time_stamp;
time_stamp=getCurrentTime();//getCurrentTime为上面介绍的函数

//==========================================================
//要执行的代码
//==========================================================

//计算睡眠时间(毫秒),保证每隔500ms循环一次
int dis=getCurrentTime()-time_stamp;
if((dis>=500)&&(dis<=0)){
m=0;
}else{
m=500-dis;
}
//usleep()头文件:unistd.h
usleep(m*1000);//等待m*1000微秒后继续循环,
}
           

搞定!!!

继续阅读