C语言怎么定时执行某个方法

avatar
作者
筋斗云
阅读量:1

在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平台为例,不同平台可能有所不同。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!