本书旨在通过示例驱动的方法来解释Rust中的Futures,探讨为什么要重新设计它们的方式以及它们的工作方式。我们还将看一下在处理并发编程时我们拥有的一些替代方法。
在Rust中使用Futures或async / await时,无需深入研究本书中所涉及的细节。出于好奇,他们想知道所有工作原理。
本书将尝试解释您可能想知道的所有内容,直到不同类型的执行程序和运行时的主题为止。我们将在本书中实现一个非常简单的运行时,介绍一些概念,但是足以起步。
Stjepan Glavina撰写了一系列关于异步运行时和执行器的出色文章,如果谣言是正确的,那么在不久的将来还会有更多他提出来。
您应该先阅读本书,然后继续阅读来自stejpang的文章,以了解有关运行时及其运行方式的更多信息,尤其是:
我将自己限制在200行的主要示例中(因此标题如此),以限制范围,并介绍一个可以轻松地进一步探索的示例。
但是,有很多东西需要消化,这不是我所说的容易的事情,但是我们会逐步进行所有操作,因此可以喝杯茶放松身心。
本书是公开制作的,欢迎您提供帮助。 您将在此处找到该书本身的存储库。 您可以在此处克隆,分叉或复制的最终示例。 任何建议或改进都可以作为PR或书籍的问题追踪器提交。 在上一章中,如果您想进一步探索,我可以自由地提出一些小练习。 这本书也是我写的关于Rust并发编程的第四本书。 如果喜欢,您可能还需要查看其他内容: 我想借此机会感谢mio,tokio,async_std,futures,libc,crossbeam背后的人们,这些人支撑了大部分异步生态系统,并且在我眼中很少获得足够的赞誉。 特别感谢jonhoo,他很乐意就本书的早期草案向我提供一些宝贵的反馈意见。 他还没有看完成品,但是非常感谢。