CLOCK_MONOTONIC 最大值

标签 c linux time

由于达到最大值,clock_gettime() 何时会使用 CLOCK_MONOTONIC 返回一个较小的值?我不是指被描述为错误的小扭曲,而是类似于计数器重置的东西。

它是时间测量的,还是与滴答的绝对数量有关?

我必须实现一个计时器(间隔 1 或 2 秒),而且我不需要那么高的精度。但是应用程序可能会运行几个小时而不会重新启动。 (我估计最多 1 天)。

我不想保证我不会犯任何可能导致它停止沟通的错误。

timerfd 是否已经解决了这个问题?

最佳答案

由于 struct timespec 使用秒的 time_t 值,因此可以覆盖的完整范围至少为 68 年。鉴于 CLOCK_MONOTONIC 的定义是从某个任意点开始的,理论上 clock_gettime 可以随时超时。实际上,如果您的应用程序运行了几十年,您才需要担心这一点。但是,如果您偏执狂,请制作一个包装函数,如果发生计时器回绕,它会大声提示并终止应用程序。

关于CLOCK_MONOTONIC 最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5066152/

相关文章:

c - reinterpret_cast 的 C 等价物是什么?

c - 迭代数组 C 时得到奇怪的输出

java - O/S 将 Chronicle 文件刷新到磁盘导致非常高的延迟?

ios - 根据星期几显示不同的消息

java parking 费计算

python - ctypes中的编译器依赖

c++ - 他们实现的开源 C 编译器(gcc、clang)的实际标准在哪里?

linux - 使用 Linux Find 并将内容通过管道传送到 S3 存储桶

新项目的 Java 或单声道

ruby-on-rails - Rails 日期时间比较