Namespaces
Variants

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

From cppreference.net
Utilities library
Coroutine support
Coroutine traits
Coroutine handle
No-op coroutines
Trivial awaitables
Range generators
(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 的调用抛出或重新抛出异常,则该异常会继续传播。

注释

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

示例

参见

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