假设有 asio 的 deadline_timer 或者类似的,它将过期并调用回调。在调用期间以及回调仍在运行时 cancel 被称为。 问题是 取消 在回叫结束前封锁?
asio
deadline_timer
cancel
取消
不,取消不阻止,也不等待任何处理程序完成。
如果访问来自不同的线程,则您有责任同步对计时器实例的访问。
有限的螺纹安全性记录如下: 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