Linux最好用的計時器不要錯過
阿新 • • 發佈:2020-12-27
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分鐘後,進行退出,大家可以根據自己的需求進行修改程式碼,來實現自己想要的功能。