gpt4 book ai didi

在c中不使用线程和sleep()方法定期调用函数

转载 作者:行者123 更新时间:2023-12-04 09:33:19 24 4
gpt4 key购买 nike

我想调用一个函数,假设每 10 或 20 秒一次。当我搜索时,我到处都想出了线程和 sleep() 方法。

我还检查了 C 中的时间和时钟类,但找不到任何对我的问题有帮助的东西。

定期调用函数最简单的方法是什么?

最佳答案

在我看来,使用 libevent 是更简洁的解决方案,因为与此同时,您可以执行其他操作(甚至是其他定时函数)

看看这个每 3 秒打印一次 Hello 的简单且 self 解释的示例:

#include <stdio.h>
#include <sys/time.h>
#include <event.h>

void say_hello(int fd, short event, void *arg)
{
printf("Hello\n");
}

int main(int argc, const char* argv[])
{
struct event ev;
struct timeval tv;

tv.tv_sec = 3;
tv.tv_usec = 0;

event_init();
evtimer_set(&ev, say_hello, NULL);
evtimer_add(&ev, &tv);
event_dispatch();

return 0;
}

关于在c中不使用线程和sleep()方法定期调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14832139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com