-
定时器可以做什么用
用于在确定的时间点或者经过确定的时间执行某种操作 -
deadline_timer
和waitable_timer
有什么区别
在使用上没有区别,不同之处在于默认的deadline_timer
使用的boost::posix_time::ptime
作为时钟,而waitbale_timer
默认提供了三种标准时钟:steady_clock
、system_clock
、high_resolution_clock
。 -
如何构造定时器
- IO服务
- IO服务+时间点
- IO服务+时间段
一旦指定了时间点/时间段,定时器会直接以同步方式被启用
-
如何设置时间点/时间段
expires_at
用来指定等待的时间点,expires_from_now
用来指定等待的时间段,设置完成后,任何异步等待将会被取消,如果定时器在此时已经到时,异步操作将不能被取消,但是会返回错误码表示该情况;该接口会返回被取消的异步操作个数。 -
如何获取指定的等待时间点
无参版的expires_at
用来获取之前设置的等待时间点 -
如何获取定时器剩余时间
无参版的expires_from_now
用来获取距离现在剩余的等待时间 -
如何等待定时器完成
有同步和异步两种方式,wait
实现了阻塞式的等待,而async_wait
则会启动一个异步等待,回调入参为错误码 -
如何取消定时器等待
cancel
用来取消定时器上的任何异步操作,cancel_one
只会取消一个,取消顺序为FIFO。
网友评论