【发布时间】:2010-03-20 02:38:33
【问题描述】:
Boost asio 的第 3 篇教程中有一行说明如何更新计时器并防止出现漂移。该行如下:
t->expires_at(t->expires_at() + boost::posix_time::seconds(1));
也许是我,但我找不到关于 expires_at() 的第二次用法的文档,没有参数。 expires_at(x) 设置新的过期时间,取消任何待处理的完成处理程序。那么大概 expires_at() 做了什么,返回最后一次到期的时间?所以通过增加一秒,如果应该有一些毫秒,比如n毫秒,那么它本质上会从下一个到期中“减去”,因为时间正在计算?如果在本例中执行此处理程序所需的时间大于 1 秒,会发生什么情况?它会立即触发吗?
【问题讨论】:
标签: c++ boost boost-asio