C++20 : évolutions sur le parallélisme

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
122
Mois de parution
décembre 2022
Spécialité(s)


Résumé

La programmation parallèle est une nécessité pour tirer pleinement profit des performances de nos CPU modernes. Depuis C++11, la librairie s’enrichit d'outils pour nous permettre de mieux mettre en œuvre nos programmes.


C++11 a intégré dans la librairie standard de quoi mettre en œuvre la programmation parallèle en nous apportant de quoi manipuler les threads et les objets de synchronisation que sont les mutex et les variables conditions, l'introduction des promesses et des atomics.

C++14 et 17 n'ont apporté des choses qu'à la marge, C++20 lui arrive avec sont lot de nouveautés que nous allons détailler. Comme toujours, je n'aborde pas la totalité des choses, mais seulement celles qui me paraissent les plus intéressantes.

1. Les threads joignables

La classe thread actuelle a le défaut qu'il ne faut pas détruire la variable tant que le thread est en cours d’exécution, sous peine de subir une terminaison brutale du programme via terminate(), l'oubli de join() est donc fatale, sauf à avoir fait un detach() des threads

La suite est réservée aux abonnés. Il vous reste 97% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

C++20 : évolutions du langage

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
122
Mois de parution
décembre 2022
Spécialité(s)
Résumé

C++20 n’est pas l’évolution la plus significative de C++, je dirais que pour le développeur classique, les plus grosses évolutions sont plutôt au niveau de la STL pour cette version. Il y a cependant quelques nouveautés intéressantes.

JavaScript sur les navigateurs modernes

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
119
Mois de parution
avril 2022
Spécialité(s)
Résumé

Nombre de développeurs, qui doivent supporter des applications devant tourner sur des navigateurs un peu anciens, sont coincés dans le purgatoire d’Internet Explorer depuis des années. Avec la fin du support de nombreuses applications Microsoft, on peut espérer que la nécessité de le supporter dans vos applications va tomber, ce qui va vous ouvrir de nombreuses possibilités.

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture