std::execution::ensure_started
来自 cppreference.cn
定义于头文件 <execution> |
||
execution::sender auto ensure_started( execution::sender auto sender ); |
(C++26 起) | |
[编辑] 参数
发送器 | - | 输入发送器,其停止通道被映射到 err |
[编辑] 返回值
返回一个发送器,当提供的 sender 完成时,该发送器也完成,并发送与提供的 sender 等效的值。
[编辑] 注意
- 一旦
ensure_started
返回,就知道提供的 sender 已经连接,并且已对生成的操作状态调用了 start。换句话说,提供的 sender 描述的工作已提交给适当的执行资源进行执行。
- 如果在调用 execution::connect() 之前销毁返回的发送器,或者如果调用了 execution::connect() 但在调用 execution::start() 之前销毁了返回的操作状态,则会向急切启动的操作发送停止请求,操作将被分离并在后台运行直至完成。
- 在这种情况下,操作的结果在最终完成后将被丢弃。
- 请注意,如果操作分离(例如通过持有这些资源的 std::shared_ptr),应用程序将需要确保资源保持活动状态。