实施一般超时

时间:2014-03-25 11:47:50

标签: c timer

我正在将一些代码从C#移植到C.在C#代码中,如果特定事件花费的时间太长,则会触发三个定时器,并设置下一次线程运行一些内务处理时检查的标志。

C是纯C而不是C ++,并且最终将在Linux和嵌入式目标中使用,因此我不能使用任何面向操作系统的东西 - 简单的软定时器。我开始只使用一个“启用”标志和每个定时器的到期时间,以毫秒为单位,当我调用内务处理功能时,我将把当前的ms定时器值传递给它。然后我开始考虑环绕问题,并决定我也想要开始时间,所以如果当前时间不在开始时间和到期时间之间,我知道它已经过期了。而且我希望默认持续时间也在那里,所以它最终值得制作一个表示计时器的结构。然后使函数与指向这些结构的指针一起工作。然后我开始想我可能正在重新发明轮子。

我在标准库中看不到任何类似的内容。我错过了什么吗?这只是比寻找更容易做的事情吗? :)

1 个答案:

答案 0 :(得分:0)

Ta评论。这就是我的方式,只是想确保我不浪费工作。是的嵌入式东西往往有一个定时器中断,但有三个可能要求更多并添加硬件依赖 - 我只是将当前的ms定时器值传递给我的代码然后它不必关心那个价值来自何处。 - 克雷格格雷厄姆