App*_*ood 5 c++ boost boost-asio
Boost asio的第3个教程中有一行显示了如何更新计时器并防止其漂移.该行如下:
t->expires_at(t->expires_at() + boost::posix_time::seconds(1));
Run Code Online (Sandbox Code Playgroud)
也许是我,但我无法找到关于e的第二次使用的文档xpires_at(),没有参数.expires_at(x)设置新的到期时间,取消任何待处理的完成处理程序.所以推测expires_at()会做什么,最后一次到期的返回时间?因此,通过增加一秒,如果应该有一些ms,比如说n ms,那么它本质上将从下一个到期时"减去",因为时间被计算在内?如果在此示例中执行此处理程序所需的时间大于1秒,会发生什么?它会立即开火吗?
expires_at() 返回设置超时的时间。因此,这会将超时时间移至 1 秒后。
当您使用 expires_at(x) 设置时间时,如果由于时间已过而已调用它,您将得到 0 返回值。如果 return 大于 0,则表示取消的次数。
| 归档时间: |
|
| 查看次数: |
1282 次 |
| 最近记录: |