Linux应用之定时器

Linux

一. 简介

大家都知道,不管定时器还是计数器,在项目开发的过程中是必不可少的。在linux系统当中当然内核有它自己的定时器,在用户模式下也无法使用内核的,今天给大家分享一个我一直用的,真的挺好用。

二.使用

计数器,我们用的最多的就是定义变量自加的方式来计数,但是如果要查看代码的执行时间,或者是到几分钟后退出程序等等,我们就使用下面的方法

1.计时器

#include <stdio.h>
#include <sys/time.h>

int main()
{
	int time_min = 0;
	int time_s = 0;

	//计时器开始计时
	struct timeval tpstart,tpend;
	float timeuse;
	gettimeofday(&tpstart,NULL);
	
	//延时2s 这里根据自加的需求编写
	sleep(2);
	
	//计时器显示时间
	gettimeofday(&tpend,NULL);
	timeuse = 1000000 * (tpend.tv_sec - tpstart.tv_sec) + 
	           (tpend.tv_usec - tpstart.tv_usec);
	timeuse/=1000000;
	time_min = (int)timeuse / 60;
	time_s = (int)timeuse % 60;
	printf("delay time %dmin%ds\r\n", time_min, time_s);

	return 0;
}

运行的结果
在这里插入图片描述

2. 定时器

#include <stdio.h>
#include <sys/time.h>

int main()
{
	int time_min = 0;
	int time_s = 0;

	//计时器开始计时
	struct timeval tpstart,tpend;
	float timeuse;
	gettimeofday(&tpstart,NULL);
	
	//定时5分钟后退出程序
	while(time_min < 5) 
	{
		//计时器显示时间
		gettimeofday(&tpend,NULL);
		timeuse = 1000000 * (tpend.tv_sec - tpstart.tv_sec) + 
		           (tpend.tv_usec - tpstart.tv_usec);
		timeuse/=1000000;
		time_min = (int)timeuse / 60;
		time_s = (int)timeuse % 60;
	}
	printf("delay time %dmin%ds\r\n", time_min, time_s);

	return 0;
}

这样就可以在程序运行5分钟后,进行退出,大家可以根据自己的需求进行修改代码,来实现自己想要的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值