标签: c++ asynchronous boost-asio
假设存在asio的{{1}}或类似名称,它会到期并调用回调。在调用期间和回调仍在运行时,将调用deadline_timer。 问题是cancel会阻塞直到回调完成吗?
asio
deadline_timer
cancel
答案 0 :(得分:1)
不,取消不会阻塞,也不会等待任何处理程序完成。
如果访问来自不同的线程,则有责任同步对计时器实例的访问。
此处记录了有限的线程安全性:https://www.boost.org/doc/libs/1_67_0/doc/html/boost_asio/reference/basic_waitable_timer.html#boost_asio.reference.basic_waitable_timer.thread_safety