[英]What does “alias” mean with respect to the `Sync` trait?
我正在學習Rust,試圖找出std::marker::Sync
特征。 Sync
的文檔從以下(版本1.1)開始,強調我的:
別名時可以在線程之間安全共享的類型。
精確的定義是:如果
&T
是線程安全的,則類型T
是Sync
。 換句話說,在線程之間傳遞&T
引用時不存在數據爭用的可能性。正如人們所料,像
u8
和f64
這樣的原始類型都是Sync
,包含它們的簡單聚合類型(如元組,結構和枚舉)也是如此。 ...
從第一句話開始,這對我來說毫無意義。 我認為別名與以下語句有關:
type Name = String;
這與同步有什么關系? 也許術語“別名”在這里重載,我錯過了第二個含義,但我在文檔中的任何地方都找不到第二種別名。
有人能指出我正確的方向嗎?
值是表示,如果有多個別名,以它的別名 。 別名只是一個名字。
在這段代碼中:
let s1: String = "hello".into();
let s2: &String = &s1;
s1
和s2
是相同String
值的別名; 因此, String
是別名。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.