簡體   English   中英

“別名”對於“同步”特征意味着什么?

[英]What does “alias” mean with respect to the `Sync` trait?

我正在學習Rust,試圖找出std::marker::Sync特征。 Sync的文檔從以下(版本1.1)開始,強調我的:

別名時可以在線程之間安全共享的類型。

精確的定義是:如果&T是線程安全的,則類型TSync 換句話說,在線程之間傳遞&T引用時不存在數據爭用的可能性。

正如人們所料,像u8f64這樣的原始類型都是Sync ,包含它們的簡單聚合類型(如元組,結構和枚舉)也是如此。 ...

從第一句話開始,這對我來說毫無意義。 我認為別名與以下語句有關:

type Name = String;

這與同步有什么關系? 也許術語“別名”在這里重載,我錯過了第二個含義,但我在文檔中的任何地方都找不到第二種別名。

有人能指出我正確的方向嗎?

值是表示,如果有多個別名,以它的別名 別名只是一個名字。

在這段代碼中:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM