我想等待很长一段时间(例如:30 小时),最长延迟 2 或 3 秒。我读到 Sleep()
和 WM_TIMER
不准确,可能会在指定时间后等待几分钟。
唯一可行的解决方案是使用 GetTickCount()
,那么我应该使用它还是有其他解决方案?
最佳答案
Windows 不是实时操作系统。 Windows 中没有可以提供任何此类保证的工具。
假设你可以做这样的事情:
- 等待 1/2 的时间。
- 等待剩余时间的 1/2。
- 依此类推,直到您的等待时间低于您期望的准确度。
但即便如此,Windows 机器上的时钟是否能以您期望的精度报时?
如果您真的关心计时的准确性,您需要一个实时操作系统,可能还需要一个具有保证和已知准确性的专用时钟。
关于c - 如何等待30小时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29155491/