Namespaces
Variants

std::coroutine_handle<Promise>::operator(), std::coroutine_handle<Promise>::resume

来自 zh.cppreference.net
 
 
 
协程支持
协程特征
协程句柄
无操作协程
平凡可等待体
范围生成器
(C++23)
 
 
其他特化的成员
void operator()() const;
void resume() const;
(1) (自 C++20 起)
特化的成员 std::coroutine_handle<std::noop_coroutine_promise>
constexpr void operator()() const noexcept;
constexpr void resume() const noexcept;
(2) (自 C++20 起)
1) 继续执行 *this 所引用的协程,若该协程为无操作协程则什么也不做。
2) 什么也不做。

若 *this 不引用已挂起的协程,或该协程不是无操作协程并在其最终挂起点上挂起,则行为未定义。并发恢复该协程可能导致数据竞争。

在不同于挂起协程的执行代理上恢复协程的行为由实现定义,除非每个执行代理要么是由 std::thread 或 std::jthread,要么是执行 main 的线程。

参数

(无)

返回值

(无)

异常

如果从协程执行过程中抛出异常,该异常会被捕获并在协程的promise对象上调用 unhandled_exception 。如果对 unhandled_exception 的调用抛出或重新抛出异常,则该异常会继续传播。

注释

在不同执行代理上恢复的协程应避免依赖贯穿始终的稳定线程标识,例如在挂起点之间持有互斥锁对象。

示例

参见

销毁协程
(公共成员函数)