c - 在c中实现定时器回调

标签 c linux timer callback

我是 C 语言回调函数的新手。我想创建一个定时回调。

场景:我想要一个计时器函数,它会在计时器到期时触发回调函数。例如,定时器每 5 秒到期并调用该函数。

我应该如何解决这个问题?

最佳答案

您应该如何解决这个问题?

与所有问题一样:

  • 明确你想做什么
  • 问问自己,如果需要(如果可以),你会怎么做
  • 尝试将前一步形式化为尽可能接近单个语句的句子,一次一个步骤。
  • 确定是什么阻碍了您/您不知道该怎么做。对此做一些研究。

你想做什么

您想“创建定时回调”。我认为这意味着:

  • 你有一个函数 foo 做一些工作
  • 你的程序正在运行
  • 您希望能够在程序的任何位置说“从现在开始,X 毫秒后,调用 foo

你自己会怎么做?

例如,我想您会启动一个 X 毫秒的秒表,然后继续执行您正在执行的操作。当秒表归零时,您将停止正在做的事情并做需要做的事情。最后,恢复您正在做的事情。

是什么阻碍了您?

从你的问题来看,我认为有两件事阻碍了你:

  • 您需要了解如何在 C 中执行函数回调。请参阅“函数指针”
  • 您需要了解如何设置计时器并在计时器归零时执行操作。

一些 google 搜索将帮助您解决这两个问题。

关于c - 在c中实现定时器回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29846387/

相关文章:

c - 为什么用 1 和 0 初始化数组会使可执行文件如此之大?

java - java中如何停止定时器

java - Android 秒表代码更有效的方法?

python - 从 Web 浏览器运行 python 脚本来控制 Piface 继电器

linux - 过滤日志并将输出实时发送到新文件

linux - fork() 因内存不足错误而失败

android - 如何在 Activity 中显示计时器?

c - 作业-下标值既不是数组也不是指针也不是 vector

c - 在 Linux 中使用 pcap 获取接口(interface)的 IP 地址

c - 在C中将已排序数组的索引获取到另一个数组中