Introduction Thread Multithreading

Nous voilà enfin rendus à ce chapitre important dans l’étude du langage Rust. Tous les chapitres le sont, évidemment, mais celui-ci revêt une place particulière dans la mesure où, parmi les nombreux avantages du langage Rust, la sécurisation des threads, notamment dans leur utilisation concurrentielle, est un point fondamental.

Au même titre que la sécurisation de la gestion de la mémoire, grâce au rôle accru du compilateur, la sécurisation de l’utilisation des threads est un aspect qui fait du langage Rust un langage de programmation système particulièrement sûr.

En effet, un code multithread peut être particulièrement compliqué à maintenir, en particulier lorsque l’on essaie d’accéder depuis différents threads à une même ressource. Quel que soit le langage, ce champ de programmation est fréquemment sujet à de multiples problèmes à l’exécution, en général très compliqués à comprendre et à résoudre.

On peut citer par exemple les deux problèmes emblématiques suivants :

  • Plusieurs threads accèdent à une même ressource, mais dans un ordre aléatoire ou non défini. Autrement dit, on ne sait pas quel sera le premier thread à accéder à la ressource ; de plus, d’une exécution...

Pour consulter la suite, découvrez le livre suivant :
couv_EIRUST.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Considérations sur les traits FnOnce, FnMut et Fn
Suivant
Premiers threads et parallélisme