Rust 語言之旅 目錄

跨執行緒共享

Mutex 是一個容器式的資料結構,通常也是由智慧指標持有,它接收資料,並且讓我們可以借用其中資料的可變及不可變參考。 這防止了借用被濫用的方式是,讓作業系統限制同一時間只有一個 CPU 執行緒可以存取這份資料,並且阻擋其他的執行緒, 直到原本那個執行緒完成它已鎖定的借用為止。

多執行緒已經超出了 Tour of Rust 的範圍,但 Mutex 是協調多個 CPU 執行緒存取同一份資料的一個基礎元件。

另外還有一個特殊的智慧指標 Arc,它跟 Rc 幾乎一模一樣,差別只在於它使用的是執行緒安全的方式來遞增參考計數。

它通常被用在需要對同一個 Mutex 保有許多參考的情況下。