Rust 程序设计语言 简体中文版 1.85.0工具链不靠谱而被迫去了解其中的细节。更妙的是,语言设计本身会自然而然地引导你编写出 可靠的代码,并且运行速度和内存使用上都十分高效。 已经在从事编写底层代码的程序员可以使用 Rust 来提升信心。例如,在 Rust 中引入并行是相 对低风险的操作,因为编译器会替你找到经典的错误。同时你可以自信地采取更加激进的优 化,而不会意外引入崩溃或漏洞。 但 Rust 并不局限于底层系统编程。它表达力强、写起来舒适,让人能够轻松地编写出命令行 是按照半秒的间隔到达的。它们在程序启动后两秒(2000 毫秒)后立刻一起到达。其次,程 序永远也不会退出!相反它会永远等待新消息。你会需要使用 ctrl-c 来关闭它。 让我们开始理解为何消息在全部延迟后立刻一起到达,而不是逐个在延迟后到达。在一个给定 的异步代码块,await 关键字在代码中出现的顺序也就是程序执行时其发生的顺序。 示例 17-10 中只有一个异步代码块,所以所有的代码线性地执行。这里仍然没有并发。所有 调用及其相关的 await point 是依次进行的。只有在此之后 while let 循环才开始执行 recv 调用上的 await point。 为了得到我们需要的行为,在接收每条消息之间引入休眠延迟,我们需要将 tx 和 rx 操作放 置于它们各自的异步代码块中。这样运行时就可以使用 trpl::join 来分别执行它们,就像在 计数示例中一样。我们再一次 await trpl::join 调用的结果,而不是它们各自的0 码力 | 562 页 | 3.23 MB | 29 天前3
共 1 条
- 1
 













