Rust 程序设计语言 简体中文版 1.85.0
程序,比如我们刚刚编写的,没有任何依赖。如果使用 Cargo 来构建 “Hello, world!” 项目,将只会用到 Cargo 构建代码的那部分功能。在编写更复杂的 Rust 程序时,你 将添加依赖项,如果使用 Cargo 启动项目,则添加依赖项将更加容易。 由于绝大多数 Rust 项目使用 Cargo,本书接下来的部分假设你也使用 Cargo。如果使用 “安 装” 部分介绍的官方安装包的话,则自带了 Cargo。如果通过其他方式安装的话,可以在终端 你可以更快的得到代码能否工作的反馈。因为测试是在同时运行的,你应该确保测试不能相互 依赖,或依赖任何共享的状态,包括依赖共享的环境,比如当前工作目录或者环境变量。 举个例子,每一个测试都运行一些代码,假设这些代码都在硬盘上创建一个 test-output.txt 文 件并写入一些数据。接着每一个测试都读取文件中的数据并断言这个文件包含特定的值,而这 个值在每个测试中都是不同的。因为所有测试都是同时运行的,一个测试可能会在另一个测试 释放锁之后,我们可以打印出互斥器内部的 i32 值,并发现我们刚刚已经将其值改为 6。 在多个线程间共享 Mutex现在让我们尝试使用 Mutex 在多个线程间共享同一个值。我们将启动 10 个线程,并在各个 线程中对同一个计数器值加 1,这样计数器将从 0 累加到 10。示例 16-13 中的例子会出现编 译错误,而我们将通过这些错误来学习如何使用 Mutex ,以及 Rust 0 码力 | 562 页 | 3.23 MB | 8 天前3
共 1 条
- 1