溫馨提示×

C語言怎么定時執行某個方法

小億
219
2023-11-28 17:45:35
欄目: 編程語言

在C語言中,可以使用定時器來定時執行某個方法。下面是一個使用信號和定時器的示例代碼:

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>

// 定時器處理函數
void timer_handler(int signum) {
    // 執行需要定時執行的方法
    printf("定時器觸發,執行某個方法\n");
}

int main() {
    // 設置定時器的處理函數
    signal(SIGALRM, timer_handler);

    // 設置定時器
    struct itimerval timer;
    timer.it_value.tv_sec = 2;  // 初始定時時間
    timer.it_value.tv_usec = 0;
    timer.it_interval.tv_sec = 2;  // 定時器間隔時間
    timer.it_interval.tv_usec = 0;

    // 開始定時器
    setitimer(ITIMER_REAL, &timer, NULL);

    // 死循環,保證程序一直運行直到被手動終止
    while(1) {
        sleep(1);
    }

    return 0;
}

上述代碼中,我們使用signal()函數來設置定時器處理函數,然后使用setitimer()函數來設置定時器的初始時間和間隔時間。在timer_handler()方法中,可以執行需要定時執行的代碼。

該示例中,定時器每2秒觸發一次,然后會執行timer_handler()方法,輸出"定時器觸發,執行某個方法"。

請注意,上述示例是以Linux平臺為例,不同平臺可能有所不同。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女