Pthreads/fr: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 196: Line 196:
Dans cet exemple, deux fils esclaves modifient la valeur de l'entier <tt>workload</tt> dont la valeur initiale doit être plus petite ou égale à 25. Le premier fil verrouille le mutex et attend parce que <tt>workload <= 25</tt>; la variable-condition <tt>ticker</tt> est créée et le mutex est détruit. Le deuxième fil peut alors exécuter la boucle, qui elle incrémente de trois la valeur de <tt>workload</tt> à chaque itération. À chaque incrémentation, le deuxième fil vérifie si la valeur de <tt>workload</tt> est plus grande que 25; si c'est le cas, le fil appelle <tt>[http://pubs.opengroup.org/onlinepubs/007908799/xsh/pthread_cond_signal.html pthread_cond_signal]</tt> pour signaler au fil en attente que la condition est satisfaite.  
Dans cet exemple, deux fils esclaves modifient la valeur de l'entier <tt>workload</tt> dont la valeur initiale doit être plus petite ou égale à 25. Le premier fil verrouille le mutex et attend parce que <tt>workload <= 25</tt>; la variable-condition <tt>ticker</tt> est créée et le mutex est détruit. Le deuxième fil peut alors exécuter la boucle, qui elle incrémente de trois la valeur de <tt>workload</tt> à chaque itération. À chaque incrémentation, le deuxième fil vérifie si la valeur de <tt>workload</tt> est plus grande que 25; si c'est le cas, le fil appelle <tt>[http://pubs.opengroup.org/onlinepubs/007908799/xsh/pthread_cond_signal.html pthread_cond_signal]</tt> pour signaler au fil en attente que la condition est satisfaite.  


Une fois que le signal est reçu par le premier fil, le deuxième fil fixe la condition de sortie de la boucle, détruit le mutex et disparait avec <tt>pthread_join</tt>.
Une fois que le signal est reçu par le premier fil, le deuxième fil fixe la condition de sortie de la boucle, lance le mutex et disparait avec <tt>pthread_join</tt>.


Entretemps, le premier fil étant ''réveillé'', celui-ci incrémente de 15 la valeur de <tt>workload</tt> et quitte la fonction.
Entretemps, le premier fil étant ''réveillé'', celui-ci incrémente de 15 la valeur de <tt>workload</tt> et quitte la fonction.
rsnt_translations
56,430

edits