【发布时间】:2015-09-18 20:08:32
【问题描述】:
我有一个boost::asio::steady_timer,它设置为毫秒精度。通常,大约为 40-70ms,值可能会有所不同。时间设置在一个循环中。拥有计时器的 io_service 的线程可能会忙于处理其他任务。我在我的代码中看到的 - 有时计时器会比它应该晚 250-300 毫秒触发。这样的抵消是否合理?
它在 OS X 10.10.4 上
【问题讨论】:
标签: c++ boost timer boost-asio
我有一个boost::asio::steady_timer,它设置为毫秒精度。通常,大约为 40-70ms,值可能会有所不同。时间设置在一个循环中。拥有计时器的 io_service 的线程可能会忙于处理其他任务。我在我的代码中看到的 - 有时计时器会比它应该晚 250-300 毫秒触发。这样的抵消是否合理?
它在 OS X 10.10.4 上
【问题讨论】:
标签: c++ boost timer boost-asio
这在很大程度上取决于环境(线程如何调度,系统处于什么负载等)
从表面上看,我会说 >20ms 有点多,但除非您拥有实时操作系统并严格控制环境,否则没有太多保证。
另见:
【讨论】: