|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
virtual_thread_task 的 void 特化版本 更多...
#include <virtual_thread.hpp>
类 | |
| struct | promise_type |
| 协程 promise_type,管理任务生命周期与状态 更多... | |
Public 成员函数 | |
| virtual_thread_task ()=default | |
| 默认构造,创建空任务 | |
| virtual_thread_task (coroutine_handle< promise_type > h) | |
| 从协程句柄构造任务 | |
| ~virtual_thread_task () | |
| 析构函数 | |
| virtual_thread_task (virtual_thread_task &&other) noexcept | |
| 移动构造函数 | |
| virtual_thread_task & | operator= (virtual_thread_task &&other) noexcept |
| 移动赋值运算符 | |
| bool | await_ready () noexcept |
| co_await 就绪检查 | |
| bool | await_suspend (coroutine_handle<> caller) noexcept |
| co_await 挂起时注册 continuation | |
| void | await_resume () |
| co_await 恢复时检查异常 | |
| void | get_result () |
| 阻塞等待任务完成并获取结果 | |
| bool | is_done () const noexcept |
| 检查任务是否已完成 | |
| bool | valid () const noexcept |
| 检查任务是否关联有效共享状态 | |
Public 属性 | |
| coroutine_handle< promise_type > | handle_ {nullptr} |
| 协程句柄 | |
| inner::task_shared_state< void > * | shared_state_ {nullptr} |
| 共享状态指针 | |
virtual_thread_task 的 void 特化版本
表示一个返回 void 的异步任务,支持 co_await 等待和 get_result() 同步获取结果。 任务结果(或异常)存储在引用计数的堆对象中,确保协程帧销毁后仍可安全访问。
在文件 virtual_thread.hpp 第 240 行定义.
|
inlineexplicit |
|
inline |
析构函数
释放共享状态的引用。
在文件 virtual_thread.hpp 第 396 行定义.
引用了 handle_, memory_order_acquire , 以及 shared_state_.
|
inlinenoexcept |
co_await 就绪检查
在文件 virtual_thread.hpp 第 445 行定义.
引用了 memory_order_acquire , 以及 shared_state_.
被这些函数引用 virtual_thread_task< void >::promise_type::await_transform(), virtual_thread_task< void >::promise_type::await_transform() , 以及 virtual_thread_task< void >::promise_type::final_suspend().
|
inlinenoexcept |
co_await 挂起时注册 continuation
| caller | 等待此任务的协程句柄 |
在文件 virtual_thread.hpp 第 454 行定义.
引用了 memory_order_acq_rel, memory_order_acquire, memory_order_release , 以及 shared_state_.
被这些函数引用 virtual_thread_task< void >::promise_type::await_transform(), virtual_thread_task< void >::promise_type::await_transform() , 以及 virtual_thread_task< void >::promise_type::final_suspend().
|
inline |
阻塞等待任务完成并获取结果
若任务未完成,阻塞当前线程直到任务完成。 若任务抛出异常,在此重新抛出。
在文件 virtual_thread.hpp 第 480 行定义.
引用了 memory_order_acquire, rethrow_exception() , 以及 shared_state_.