std::coroutine_handle<Promise>::operator(), std::coroutine_handle<Promise>::resume
来自 zh.cppreference.net
| 其他特化的成员 |
||
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
的调用抛出或重新抛出异常,则该异常会继续传播。
注释
在不同执行代理上恢复的协程应避免依赖贯穿始终的稳定线程标识,例如在挂起点之间持有互斥锁对象。
示例
|
本节内容不完整
原因:缺少示例 |
参见
| 销毁协程 (公共成员函数) |