pub fn d_futures_rs()
Expand description
§深入理解 Future 和 Futures-rs
回顾 Rust 异步 task 模型
+------------------------------------------------------------------+
| |
| +--------------------------------------------------------+ |
| | | |
| | +-------------------------------------------------+ | |
| | |-------------+ +----------+ +--------------+ | | |
| | || futureobj | | futureobj| | futureobj | | | |
| | +-------------+ +----------+ +--------------+ | | |
| | | 协 程 task | | |
| | +-------------------------------------------------+ | |
| | | |
| | 线 程 | |
| +--------------------------------------------------------+ |
| |
| |
| +--------------------------------------------------------+ |
| | +--------------------------------------------------+ | |
| | | | | |
| | | +------------+ +-------------------------------+ | |
| | | | futureobj | | futureobj || futureobj || | |
| | | +------------+ +-------------------------------+ | |
| | | 协 程 task | | |
| | +--------------------------------------------------+ | |
| | 线 程 | |
| +--------------------------------------------------------+ |
| |
| 进 程 |
+------------------------------------------------------------------+
- 理解 leaf-futures vs Non-leaf-futures (async/await)
- 理解 Waker:
当事件源注册该Future将在某个事件上等待时,它必须存储唤醒程序,以便以后可以调用唤醒来开始唤醒阶段。 为了引入并发性,能够同时等待多个事件非常重要,因此唤醒器不可能由单个事件源唯一拥有。 结果,Waker类型需要是实现 Clone 的。
- 理解并发(waker 并发 和 poll 并发)
深入 Futures-rs: