 Rust 程序设计语言 简体中文版 1.85.0cargo add rand@0.8.5 trpl@0.2.0 这会将这些包的下载结果缓存起来,因此你之后就不需要再下载它们了。运行完该命令后,你 无需保留 get-dependencies 文件夹。一旦你运行了这些命令,就可以在本书之后所有的 cargo 命令中,使用 --offline 参数来使用这些缓存的版本,而不必尝试使用网络。 14/562Rust 程序设计语言 简体中文版 Hello C 语言中,尝试读取数据结构之后的值是未定义行为(undefined behavior)。你会得到任何 对应数据结构中这个元素的内存位置的值,甚至是这些内存并不属于这个数据结构的情况。这 被称为 缓存区过读(buffer overread),并可能会导致安全漏洞,比如攻击者可以像这样操作 索引来读取储存在数据结构之后未经授权的数据。 为了保护程序不受此类漏洞的影响,如果尝试读取一个索引不存在的元素,Rust 信道发送,而在另一个线程会接收值并 打印出来。这里会通过信道在线程间发送简单值来演示这个功能。一旦你熟悉了这项技术,你 就可以将信道用于任何相互通信的任何线程,例如一个聊天系统,或利用很多线程进行分布式 计算并将部分计算结果发送给一个线程进行聚合。 首先,在示例 16-6 中,创建了一个信道但没有做任何事。注意这还不能编译,因为 Rust 不知 道我们想要在信道中发送什么类型: 文件名:src/main0 码力 | 562 页 | 3.23 MB | 26 天前3 Rust 程序设计语言 简体中文版 1.85.0cargo add rand@0.8.5 trpl@0.2.0 这会将这些包的下载结果缓存起来,因此你之后就不需要再下载它们了。运行完该命令后,你 无需保留 get-dependencies 文件夹。一旦你运行了这些命令,就可以在本书之后所有的 cargo 命令中,使用 --offline 参数来使用这些缓存的版本,而不必尝试使用网络。 14/562Rust 程序设计语言 简体中文版 Hello C 语言中,尝试读取数据结构之后的值是未定义行为(undefined behavior)。你会得到任何 对应数据结构中这个元素的内存位置的值,甚至是这些内存并不属于这个数据结构的情况。这 被称为 缓存区过读(buffer overread),并可能会导致安全漏洞,比如攻击者可以像这样操作 索引来读取储存在数据结构之后未经授权的数据。 为了保护程序不受此类漏洞的影响,如果尝试读取一个索引不存在的元素,Rust 信道发送,而在另一个线程会接收值并 打印出来。这里会通过信道在线程间发送简单值来演示这个功能。一旦你熟悉了这项技术,你 就可以将信道用于任何相互通信的任何线程,例如一个聊天系统,或利用很多线程进行分布式 计算并将部分计算结果发送给一个线程进行聚合。 首先,在示例 16-6 中,创建了一个信道但没有做任何事。注意这还不能编译,因为 Rust 不知 道我们想要在信道中发送什么类型: 文件名:src/main0 码力 | 562 页 | 3.23 MB | 26 天前3
共 1 条
- 1













