Boost C++ 库

...世界上评价最高、设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

cancel_at (6 个重载中的 5 个) - 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