亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

c語言定時器示例分享

 更新時間:2014年04月28日 10:47:11   作者:  
在linux下開發(fā),使用的是C語言。適用于需要定時的軟件開發(fā),以系統(tǒng)真實的時間來計算,它送出SIGALRM信號。每隔一秒定時一次

在linux下開發(fā),使用的是C語言。適用于需要定時的軟件開發(fā),以系統(tǒng)真實的時間來計算,它送出SIGALRM信號。每隔一秒定時一次

c語言定時器

復(fù)制代碼 代碼如下:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <errno.h>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include "pthread.h"
#include <netinet/in.h>
#include <signal.h>
#include <sys/time.h>


struct StructOfTimerStatus
{
    unsigned int count;                               //計數(shù)值
    unsigned int flag;                                //定時標志
}
;

struct StructOfTimer

    struct StructOfTimerStatus      testtime;   //測試定時器
}
mytime;

 

void SetTimer(int sec,int usec);
void SigalrmFunc(void);


//定時器函數(shù)
/*******************************************************************************
* Discription:SIGALRM 信號響應(yīng)函數(shù);用作定時器
* Input      :
* Output    :
*******************************************************************************/
void SigalrmFunc(void)
{
    if(mytime.testtime.count++>20)      //定時1秒,20*50000=1s
    {
        mytime.testtime.flag=1;
        mytime.testtime.count=0;
    }
}


void SetTimer(int sec,int usec)
{
    struct itimerval value,ovalue;
    signal(SIGALRM,(void *)SigalrmFunc);

    value.it_value.tv_sec = sec;
    value.it_value.tv_usec = usec;
    value.it_interval.tv_sec = sec;
    value.it_interval.tv_usec = usec;

    setitimer(ITIMER_REAL,&value,&ovalue); 
}

int main(int argc, char **argv)
{
    SetTimer(0, 50000);
    while(1)
    {
        if(mytime.testtime.flag == 1)
        {
            mytime.testtime.flag = 0;
            system("clear");
            printf("Timing success\n");
        }
    }
    return 0;
}

相關(guān)文章

  • C++實現(xiàn)Linux下彈出U盤的方法

    C++實現(xiàn)Linux下彈出U盤的方法

    這篇文章主要介紹了C++實現(xiàn)Linux下彈出U盤的方法,實例分析了C++在Linux平臺上進行IO操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • C++映像劫持后門實例分析

    C++映像劫持后門實例分析

    這篇文章主要介紹了C++映像劫持后門,實例分析了C++映像劫持后門的原理與相關(guān)實現(xiàn)技巧,有助于進一步了解后門的原理,需要的朋友可以參考下
    2015-04-04
  • C++ std::make_unique和std::make_shared用法小結(jié)

    C++ std::make_unique和std::make_shared用法小結(jié)

    本文主要介紹了C++ std::make_unique和std::make_shared用法,使用std::make_unique和std::make_shared能夠簡化動態(tài)分配內(nèi)存和構(gòu)造對象的過程,提高代碼的安全性和可讀性,感興趣的可以了解一下
    2023-11-11
  • C語言實現(xiàn)自行車管理系統(tǒng)

    C語言實現(xiàn)自行車管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)自行車管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C語言深入講解棧與堆和靜態(tài)存儲區(qū)的使用

    C語言深入講解棧與堆和靜態(tài)存儲區(qū)的使用

    對大多數(shù)C 語言初學(xué)者來說,堆棧卻是一個很模糊的概念。堆棧是一種數(shù)據(jù)結(jié)構(gòu),一個在程序運行時用于存放的地方,相信這可能是很多初學(xué)者共同的認識,靜態(tài)存儲區(qū)即內(nèi)存在程序編譯的時候就已經(jīng)分配好,這塊內(nèi)存在程序的整個運行期間都存在
    2022-04-04
  • 詳解C語言之操作符

    詳解C語言之操作符

    這篇文章主要以圖文結(jié)合的方式為大家詳細介紹了C語言的操作符知識,感興趣的小伙伴們可以參考一下,希望能給你帶來幫助
    2021-11-11
  • C++中const、volatile、mutable使用方法小結(jié)

    C++中const、volatile、mutable使用方法小結(jié)

    這篇文章主要介紹了C++中const、volatile、mutable使用方法小結(jié),需要的朋友可以參考下
    2020-01-01
  • C語言基礎(chǔ)應(yīng)用處理學(xué)生打分?計算時間?最少硬幣問題詳細過程

    C語言基礎(chǔ)應(yīng)用處理學(xué)生打分?計算時間?最少硬幣問題詳細過程

    很多的問題其實可以用編程來解決作答,本篇文章帶你用C語言解決最少硬幣問題、計算已經(jīng)過去了多久、學(xué)生成績自動打分來做基礎(chǔ)的訓(xùn)練
    2022-02-02
  • C++中的String的常用函數(shù)用法

    C++中的String的常用函數(shù)用法

    這篇文章主要介紹了C語言中String的常用函數(shù)用法,對學(xué)習(xí)String的小伙伴有一定的參考價值,感興趣的小伙伴可以借鑒一下
    2023-03-03
  • c語言10個經(jīng)典小程序

    c語言10個經(jīng)典小程序

    c語言的經(jīng)典程序,學(xué)習(xí)c語言的初學(xué)者可以參考下
    2013-01-01

最新評論