boost::asio::basic_waitable_timer `取消` 行为
boost::asio::basic_waitable_timer `cancel` behavior
假设有 asio
的 deadline_timer
或类似的,它过期并调用回调。在调用期间,当回调仍为 运行 时,将调用 cancel
。
问题是 cancel
会阻塞直到回调完成?
不,取消不会阻塞,也不会等待任何处理程序完成。
如果访问来自不同线程,则您有责任同步对计时器实例的访问。
假设有 asio
的 deadline_timer
或类似的,它过期并调用回调。在调用期间,当回调仍为 运行 时,将调用 cancel
。
问题是 cancel
会阻塞直到回调完成?
不,取消不会阻塞,也不会等待任何处理程序完成。
如果访问来自不同线程,则您有责任同步对计时器实例的访问。