原文链接:https://github.com/sunface/tokio-course
如有侵权请告知,立删,转载本意:希望让更多人方便学习tokio
tokio概览
本教程在内容上大量借鉴和翻译了tokio官方文档Tokio Tutorial, 但是重新组织了内容形式并融入了很多自己的见解和感悟,给大家提供更好的可读性和知识扩展性
对于 Async Rust,最最重要的莫过于底层的异步运行时,它提供了执行器、任务调度、异步API等核心服务。简单来说,使用 Rust 提供的 async/.await 特性编写的异步代码要运行起来,就必须依赖于异步运行时,否则这些代码将毫无用处
异步运行时
Rust 语言本身只提供了异步编程所需的基本特性,例如 async/.await 关键字,标准库中的 Future 特征,官方提供的 futures 实用库,这些特性单独使用没有任何用处,因此我们需要一个运行时来将这些特性实现的代码运行起来。
异步运行时是由 Rust 社区提供的,它们的核心是一个 reactor 和一个或多个 executor(执行器):
-
reactor 用于提供外部事件的订阅机制,例如 I/O 、进程间通信、定时器等
-
executor 在上一章我们有过深入介绍,它用于调度和执行相应的任务( Future )
目前最受欢迎的几个运行时有:
- tokio,目前最受欢迎的异步运行时,功能强大,还提供了异步所需的各种工具(例如 tracing )、网络协议框架(例如 H