gpt4 book ai didi

rust - “alias” 相对于 `Sync` 特征意味着什么?

转载 作者:行者123 更新时间:2023-11-29 07:54:39 24 4
gpt4 key购买 nike

我正在学习 Rust,试图找出 std::marker::Sync 特征。 Sync 的文档以以下内容(版本 1.1)开头,重点是我的:

Types that can be safely shared between threads when aliased.

The precise definition is: a type T is Sync if &T is thread-safe. In other words, there is no possibility of data races when passing &T references between threads.

As one would expect, primitive types like u8 and f64 are all Sync, and so are simple aggregate types containing them (like tuples, structs and enums). …

从第一句话开始,这对我来说毫无意义。我认为别名与以下语句有关:

type Name = String;

这和同步有什么关系?可能术语“别名”在这里用得太多了,我遗漏了第二个意思,但我在文档中找不到任何地方提到第二种别名。

有人能指出我正确的方向吗?

最佳答案

如果一个值有多个别名,则称该值是别名。别名只是一个名称。

在这段代码中:

let s1: String = "hello".into();
let s2: &String = &s1;

s1s2 是相同String 值的别名;因此,String 是别名。

关于rust - “alias” 相对于 `Sync` 特征意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31215194/

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