Boost C++ 库

...世界上最受推崇和设计精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu,《C++ 编码规范

cancel_at (第 5/6 个重载) - Boost C++ 函数库
PrevUpHomeNext

适配一个 完成令牌,以便在指定绝对时间之前未完成时取消操作。

template<
    typename CompletionToken,
    typename Clock,
    typename WaitTraits,
    typename Executor,
    typename Duration>
cancel_at_timer< decay_t< CompletionToken >, Clock, WaitTraits, Executor > cancel_at(
    basic_waitable_timer< Clock, WaitTraits, Executor > & timer,
    const chrono::time_point< Clock, Duration > & expiry,
    CompletionToken && completion_token);
线程安全

当异步操作与 cancel_at 一起使用时,会并行执行一个定时器 async_wait 操作与主操作。如果这个并行 async_wait 操作首先完成,则会发出一个取消请求来取消主操作。因此,应用程序必须确保异步操作在隐式或显式 strand 中执行。


PrevUpHomeNext