在c中实现计时器回调

时间:2015-04-24 11:31:20

标签: c linux timer callback

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

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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您应该如何处理此问题?

与所有问题一样:

  • 弄清楚你想要做什么
  • 问问自己,如果需要(如果可以的话),你将如何自己做。
  • 尝试将前一步骤尽可能接近单一语句,一步一步。
  • 确定阻止您/您不知道该怎么做的内容。做一些研究。

您想要做什么

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

  • 你有一个功能foo做一些工作
  • 您的程序正在运行
  • 您希望能够在您的计划中的任何位置说“立即开始, X 毫秒,致电foo

你会如何做到这一点?

我认为你会用 X 毫秒启动一个秒表然后继续做你正在做的事情。当秒表达到零时,你停止你做的事情并做所需的事情。最后,恢复你正在做的事情。

阻止你的是什么?

根据你的问题判断我认为有两件事阻止你:

  • 您需要了解如何在C中执行函数回调。请参阅“函数指针”
  • 您需要了解如何使用计时器并在计时器达到零时执行某些操作。

一些谷歌搜索将为您提供帮助。