Mutex
est une structure de données (couramment détenue par des pointeurs
intelligents) pouvant contenir des données et nous permet d'emprunter des
références mutable ou immuables vers les données qu'elle contient. Mutex
restreint l'accès aux données à un seul thread CPU, bloquant les autres
threads jusqu'à ce que le thread d'origine ait terminé et déverrouillé les
données.
Le multithreading dépasse le cadre de Tour of Rust, mais Mutex
est un
élément fondamental de la programmation concurrentielle avec Rust.
Il existe un pointeur intelligent spécial Arc
qui est identique à Rc
mais pour les threads. La particularité de Arc
est qu'il est thread-safe,
Rust gardera en mémoire le nombre de références existantes vers une donnée
même dans une application utilisant plusieurs threads. Il est souvent utilisé
pour avoir plusieurs références vers un même Mutex
.