boost::asio::steady_timer的大定时器偏移量

Large timer offset for boost::asio::steady_timer

本文关键字:定时器 偏移量 asio steady boost timer      更新时间:2023-10-16

我有一个为毫秒精度设置的boost::asio::steady_timer。通常约为40-70ms,数值可能有所不同。时间被设定在一个循环中。拥有计时器io_service的线程可能会忙于处理其他任务。我在我的代码中看到-有时定时器比它应该晚250-300ms触发。这样的补偿能合理吗?

OS X 10.10.4

这在很大程度上取决于具体情况(如何调度线程,系统处于何种负载等)

从表面上看,我想说>20ms有点长,但除非你有一个实时操作系统并严格控制环境,否则没有很多保证。

参见:

  • https://stackoverflow.com/questions/32107904/boostasiosteady-timer-and-microsecond-precision-os-x
  • boost deadline_timer shift 10毫秒