c - 实现一般超时

标签 c timer

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

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

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

最佳答案

Ta 发表评论。我就是这么做的,只是想确保我没有浪费工作。是的,嵌入式东西往往有一个计时器中断,但三个可能要求有点多,并增加了硬件依赖性 - 我只是将当前的毫秒计时器值传递给我的代码,然后它不必关心该值来自哪里从。 ——克雷格·格雷厄姆

关于c - 实现一般超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22633651/

相关文章:

PHP 扩展 : can not update class field using zend_hash_update

c - 五子棋:限时搜索

c - 在 BST 中插入元素

javascript - 如何使 JavaScript 变量动态地用于计时器

c - ATMEGA168A - 使用定时器

c# - BackGround Thread with timer for application level-WPF Application

c - Windows 中的查询性能计数器和查询性能频率

c - 字节泛洪密码学问题(C 库)

c - 如何在不使用字符串命令和 acii 代码的情况下将字符串中的大写字母更改为小写字母,反之亦然

Java 计时器无法正常工作