Tour de Rust Table des matières

Utilisation avancée des pointeurs intelligents

Les pointeurs intelligents peuvent sembler limités, mais ils peuvent être utilisés de manière très puissante avec les structures que nous venons de voir.

Rc<Vec<Foo>> - Permet de cloner plusieurs pointeurs intelligents pouvant emprunter le même vecteur de données immuables. Pour rappel Rc place les données sur le tas.

Rc<RefCell<Foo>> - Permet à plusieurs pointeurs intelligents d'emprunter mutuellement ou immuablement la même structure Foo.

Arc<Mutex<Foo>> - Permet à un pointeur intelligent de verrouiller temporairement une donnée (celle-ci ne pourra plus être emprunté mutablement ou immuablement) de manière exclusive à un thread du CPU (les autres threads n'y auront pas accès).

Détail de la mémoire: