【发布时间】:2013-02-28 19:00:44
【问题描述】:
我正在寻找一种在 Linux 下使用 C/C++ 进行计时事件的方法。
例如。每 100 毫秒执行一段代码。 (不多不少,软实时)
到目前为止我看到的唯一选项是:
- 无限循环,每次检查是否到了执行时间。
- 让线程休眠,直到运行时间。
无限检查是否该运行,缺点是(太)CPU 密集型。
一直睡到时间,缺点是不准确。睡眠时间只是一个参考,它可以睡得更多。
现在我想知道你们中是否有人知道如何在 Linux 下使用 C/C++ 进行实时计时事件。
【问题讨论】:
-
您需要达到多高的实时性? Linux 并不是真正的 RTOS。
-
是的,是一个 RTOS 分配。看看 QP 框架。
-
睡眠足够精确,如果你知道如何使用它
-
这是一种可以为您提供微秒精度的方法(不保证但可靠)stackoverflow.com/questions/14944204/…