rust future
时间: 2023-08-23 13:07:18 浏览: 67
回答: 在Rust中,Future是一种表示异步操作的抽象。Future表示一个可能在未来完成的值,可以通过调用poll方法来推进其执行。当Future完成时,它可以返回一个Ready(T),其中T是Future的返回值,或者返回NotReady,表示Future还没有准备好。\[2\]为了处理Future的执行,我们需要将Stream转换为Future,可以使用into_future函数来实现。这样,我们就可以使用Future的组合器(如and_then)将Stream与其他的Future连接起来。\[1\]当Future的poll方法返回NotReady时,我们需要在适当的时候再次调用poll方法,以继续推进Future的执行。为了实现这一点,Future需要向当前的任务注册一个通知,当Future的值准备好时,任务将收到通知并继续执行Future。\[3\]在Rust中,任务(task)是一个执行异步操作的上下文,它负责管理Future的执行和调度。
#### 引用[.reference_title]
- *1* *2* *3* [学习 Rust Futures - Future 和 Stream](https://blog.csdn.net/zorro_zhb/article/details/86686800)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]