Merge pull request #835 from mawenqi/patch-1

Update tokio overview.md for spell error
pull/842/head
Sunface 3 years ago committed by GitHub
commit 0e044ef752
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,10 +1,10 @@
# tokio 概览
对于 Async Rust最最重要的莫过于底层的异步运行时它提供了执行器、任务调度、异步 API 等核心服务。简单来说,使用 Rust 提供的 `async/.await` 特性编写的异步代码要运行起来,就必须依赖于异步运行时,否则这些代码将毫无用处。
对于 Async Rust最最重要的莫过于底层的异步运行时它提供了执行器、任务调度、异步 API 等核心服务。简单来说,使用 Rust 提供的 `async/await` 特性编写的异步代码要运行起来,就必须依赖于异步运行时,否则这些代码将毫无用处。
## 异步运行时
Rust 语言本身只提供了异步编程所需的基本特性,例如 `async/.await` 关键字,标准库中的 `Future` 特征,官方提供的 `futures` 实用库,这些特性单独使用没有任何用处,因此我们需要一个运行时来将这些特性实现的代码运行起来。
Rust 语言本身只提供了异步编程所需的基本特性,例如 `async/await` 关键字,标准库中的 `Future` 特征,官方提供的 `futures` 实用库,这些特性单独使用没有任何用处,因此我们需要一个运行时来将这些特性实现的代码运行起来。
异步运行时是由 Rust 社区提供的,它们的核心是一个 `reactor` 和一个或多个 `executor`(执行器):
@ -31,13 +31,13 @@ Rust 语言本身只提供了异步编程所需的基本特性,例如 `async/.
相信大家看到现在,心中应该有一个结论了。首先,运行时之间的不兼容性,让我们必须提前选择一个运行时,并且在未来坚持用下去,那这个运行时就应该是最优秀、最成熟的那个,`tokio` 几乎成了不二选择,当然 `tokio` 也有自己的问题:更难上手和运行时之间的兼容性。
如果你只用 `tokio` 那兼容性自然不是问题至于难以上手Rust 这么难,我们都学到现在了,何况区区一个异步运行时,在本书的帮忙下,这些都不再是个问题:)
如果你只用 `tokio` 那兼容性自然不是问题至于难以上手Rust 这么难,我们都学到现在了,何况区区一个异步运行时,在本书的帮助下,这些都不再是问题:)
## tokio 简介
tokio 是一个纸醉金迷之地,只要有钱就可以为所欲为,哦,抱歉,走错片场了。`tokio` 是 Rust 最优秀的异步运行时框架,它提供了写异步网络服务所需的几乎所有功能,不仅仅适用于大型服务器,还适用于小型嵌入式设备,它主要由以下组件构成:
- 多线程版本的异步运行时,可以运行使用 `async/.await` 编写的代码
- 多线程版本的异步运行时,可以运行使用 `async/await` 编写的代码
- 标准库中阻塞 API 的异步版本,例如`thread::sleep`会阻塞当前线程,`tokio`中就提供了相应的异步实现版本
- 构建异步编程所需的生态,甚至还提供了 [`tracing`](https://github.com/tokio-rs/tracing) 用于日志和分布式追踪, 提供 [`console`](https://github.com/tokio-rs/console) 用于 Debug 异步编程

Loading…
Cancel
Save