gpt4 book ai didi

rust - 为什么需要像 Tokio 这样的异步运行时?

转载 作者:行者123 更新时间:2023-12-05 02:32:05 30 4
gpt4 key购买 nike

我做计算机系统项目的第一个经历是使用 vanilla Java 构建服务器,然后在 Android 手机上构建客户端。从那时起,我发现有很多框架可以帮助管理可伸缩性并消除编写样板代码的需要。

我正在尝试了解哪些服务类似于 TokioRayon启用。

我在 Tokio tutorial page 上看到这一段我很难理解它

When you write your application in an asynchronous manner, you enable it to scale much better by reducing the cost of doing many things at the same time. However, asynchronous Rust code does not run on its own, so you must choose a runtime to execute it.

我首先想到“运行时”可能指的是二进制文件可以运行的地方,但看起来 Tokio 只提供了 Rust 标准库中已经可用的函数,而 Rayon 实现了标准库中没有的函数。

标准库中异步函数的标准实现是否编写得不好,或者我不了解 Tokio 提供的服务?

最佳答案

Rust 目前在标准库中不提供异步运行时。有关详细信息,请参阅 Asynchronous Programming in Rust ,尤其是关于“异步生态系统”的章节。

Rust currently provides only the bare essentials for writing async code. Importantly, executors, tasks, reactors, combinators, and low-level I/O futures and traits are not yet provided in the standard library. In the meantime, community-provided async ecosystems fill in these gaps.

Rust 有非常严格的向后兼容性要求,他们没有选择锁定特定的运行时。有理由选择一个而不是另一个(例如,功能与大小),并将其作为标准库的一部分会强加某些选择,这些选择显然不是对所有项目都是正确的。随着社区项目更好地探索这个空间并帮助确定最佳选择组合,这种情况在未来可能会改变,而无需强大的向后兼容性 promise 。

关于rust - 为什么需要像 Tokio 这样的异步运行时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71357431/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com