Rust 程序设计语言 简体中文版 1.85.0的包。你可能会发现,随着项目开发 的深入,库 crate 持续增大,而你希望将其进一步拆分成多个库 crate。Cargo 提供了一个叫 工作空间(workspaces)的功能,它可以帮助我们管理多个相关的协同开发的包。 创建工作空间 工作空间是一系列共享同样的 Cargo.lock 和输出目录的包。让我们使用工作空间创建一个项目 —— 这里采用常见的代码以便可以关注工作空间的结构。有多种组织工作空间的方式,所以 使用 yield_now 的版本要 快得多! 这意味着取决于程序所作的其它工作,异步操作甚至在计算密集型任务中也有用处,因为它提 供了一个结构化程序中不同部分之间关系的实用工具。这是一种形式的 协同多任务处理 (cooperative multitasking),每个 future 有权通过 await point 来决定何时交还控制权。因此 每个 future 也有责任避免长时间阻塞。在一些基于 Stream,接着任何使用你数据类型的人就自动地可以使用 StreamExt 及其 方法。 这就是我们要涉及的这些 trait 的底层细节的全部了。最后,让我们来思考 futures(包括 streams)、任务和线程如何协同配合! 421/562Rust 程序设计语言 简体中文版 结合使用 future、任务和线程 正如我们在第十六章所见,线程提供了一种并发的方式。在这一章节我们见过了另一种方式: 通过 future0 码力 | 562 页 | 3.23 MB | 24 天前3
共 1 条
- 1













