Pthreads/fr: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 6: Line 6:
pthreads a servi de base aux approches de parallélisation qui ont suivi, dont OpenMP. On peut voir pthreads comme étant un ensemble d'outils primitifs offrant des fonctionnalités élémentaires de parallélisation, contrairement aux APIs conviviales et de haut niveau comme OpenMP. Dans le modèle pthreads, les fils sont générés dynamiquement pour exécuter des sous-procédures dites légères qui exécutent les opérations de façon asynchrone; ces fils sont ensuite détruits après avoir été réintégrés au processus principal. Puisque tous les fils d'un même programme résident dans le même espace mémoire, il est facile de partager les données à l'aide de variables globales, contrairement à une approche distribuée comme [[MPI]]; toute modification aux données partagées risque cependant de créer de la concurrence (''race conditions'').
pthreads a servi de base aux approches de parallélisation qui ont suivi, dont OpenMP. On peut voir pthreads comme étant un ensemble d'outils primitifs offrant des fonctionnalités élémentaires de parallélisation, contrairement aux APIs conviviales et de haut niveau comme OpenMP. Dans le modèle pthreads, les fils sont générés dynamiquement pour exécuter des sous-procédures dites légères qui exécutent les opérations de façon asynchrone; ces fils sont ensuite détruits après avoir été réintégrés au processus principal. Puisque tous les fils d'un même programme résident dans le même espace mémoire, il est facile de partager les données à l'aide de variables globales, contrairement à une approche distribuée comme [[MPI]]; toute modification aux données partagées risque cependant de créer de la concurrence (''race conditions'').


<div class="mw-translate-fuzzy">
=Compilation=
=Compilation=
Pour utiliser les fonctions et structures de données associées à pthreads dans votre programme C, il faut y inclure le fichier entête (''header file'') <tt>pthread.h</tt> et compiler le programme avec un indicateur (''flag'') pour faire le lien avec la bibliothèque pthreads.
Pour utiliser les fonctions et structures de données associées à pthreads dans votre programme C, il faut y inclure le fichier entête (''header file'') <tt>pthread.h</tt> et compiler le programme avec un indicateur (''flag'') pour faire le lien avec la bibliothèque pthreads.
</div>
{{Command|gcc -pthread -o test threads.c
}}
Le nombre de fils pour le programme est défini par une des méthodes suivantes :
* utilisé comme argument dans une ligne de commande;
* entré via une variable d'environnement;
* encodé dans le fichier source (ceci ne permet toutefois pas d'ajuster le nombre de fils à l'exécution).


=Creation and Destruction of Pthreads=
=Creation and Destruction of Pthreads=
rsnt_translations
56,430

edits

Navigation menu