2.0.async-std 的异步概念
async-std 的异步概念
Rust Futures 被认为很难,但我们不这么认为。我们认为它是最简单的并发概念之一,而且有着非常直观的解释。
但是认为它难也情有可原,Futures 中延迟计算(deferred computation),异步性(asynchronicity)和执行独立性(independence of execution strategy)这三个基本概念的确令人疑惑。
这些概念并不难,只是很多人不熟悉。对这些概念的疑惑在在具体实现细节时更为明显。主要是对于这些具体实现的解释是给有一定基础的人看的,对于初学者来说太难了。我们希望可以提供平易近人,易于理解的概念解释。
Futures 是对代码运行方式的抽象。Futures 本身并没有什么作用,虽然这对于按步执行的命令式语言来说这是一个奇怪的概念。
Futures 的运行由你决定。Futures 仅在对它们调用 executing 时才会执行。这一部分被称为执行者 (excutor)。执行者 决定你执行 futures 的时间 和方式。async-std::task
提供了这些执行者的接口。
接下来就开始async-std::task
的学习了。
原文链接:book.async.rs/
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。