溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux C語(yǔ)言的定時(shí)器使用方法

發(fā)布時(shí)間:2020-06-16 05:33:05 來(lái)源:網(wǎng)絡(luò) 閱讀:755 作者:PlayWithYou 欄目:軟件技術(shù)
編寫(xiě)一個(gè)程序(庫(kù)),實(shí)現(xiàn)定時(shí)器(計(jì)時(shí)器)的功能,它能為用戶提供在同一進(jìn)程中多次使用的定時(shí)器。這里要求用信號(hào)來(lái)實(shí)現(xiàn)。

示例代碼如下:
#include <stdio.h>  
#include <time.h>  
#include <sys/time.h>  
#include <stdlib.h>  
#include <signal.h>  
      
static int time_count = 0;  
static struct itimerval oldtv;  

void set_timer()  
{  
    struct itimerval itv;  
    itv.it_interval.tv_sec = 1;  
    itv.it_interval.tv_usec = 0;  
    itv.it_value.tv_sec = 1;  
    itv.it_value.tv_usec = 0;  
    setitimer(ITIMER_REAL, &itv, &oldtv);  
}  

void signal_handler(int m)  
{  
    time_count ++;  
    printf("%d\n", time_count);  
}  

int main()  
{  
    signal(SIGALRM, signal_handler);  
    set_timer();  
    while(1){
        if(time_count==5)
        {
            printf("time_count = 5\n");
            time_count=0;
        }
   
    }
    return 1;  
}
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI