[C++]Linux之间隔时间内循环执行指定程序

#include<time.h>  
#include<unistd.h>//usleep(num)
#include<stdio.h>
#include<stdlib.h>//exit(num)

void execute(int count);
void run(void);

int main(){
	run();
	return 0;
}

void execute(int count){
	printf("%d Hello Boy.\n", count); 
}

void run(){
	printf("ready run...\n");
	int count = 1;
	while(1){  
		unsigned int m;  
		double previous_time_stamp; 
		double current_time_stamp; 
		previous_time_stamp = (double)clock();

		//计算睡眠时间(毫秒),保证每隔500ms循环一次  
		current_time_stamp = (long)clock();	
		int dis = dis + current_time_stamp - previous_time_stamp; 
		if((dis >= 500) && (count <= 10)){  
			execute(count);//此处填写执行代码
        previous_time_stamp = current_time_stamp;
			count = count + 1;  
			dis = 0;//每次执行后,计算累计时间的都将清零
		} else if(count == 10){
			printf("run end...\n");
			exit(0);
		}
		//usleep()头文件:unistd.h  
		usleep(1000); //等待m*1000微秒后继续循环
	} 
}

 

转载于:https://www.cnblogs.com/johnnyzen/p/8000915.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值