NOM
pthread_setconcurrency, pthread_getconcurrency - Définir ou récupérer
le niveau de concurrence
SYNOPSIS
#include <pthread.h>
int pthread_setconcurrency(int new_level);
int pthread_getconcurrency(void);
Compilez et effectuez l’édition des liens avec l’option -pthread.
La fonction pthread_setconcurrency() informe l’implémentation du niveau
de concurrence (nombre de thread exécutés en parallèle indiqué par
new_level) souhaité par l’application. Ce n’est qu’une indication pour
l’implémentation : POSIX.1 ne spécifie pas le niveau de concurrence qui
doit résulter d’un appel à pthread_setconcurrency().
Une valeur de 0 pour new_level indique à l’implémentation qu’elle peut
gérer le niveau de concurrence au niveau qu’elle juge approprié.
pthread_getconcurrency() renvoie le niveau de concurrence du processus.
VALEUR RENVOYÉE
En cas de succès, pthread_setconcurrency() renvoie 0 ; en cas d’erreur,
elle renvoie un numéro d’erreur non nul.
pthread_getconcurrency() ne peut pas échouer et renvoie le niveau de
concurrence défini par l’appel précédent à pthread_setconcurrency() ou
0 si pthread_setconcurrency() n’a pas été appelé auparavant.
ERREURS
pthread_setconcurrency() peut échouer avec les erreurs suivantes :
EINVAL new_level est négatif.
POSIX.1-2001 documente également une erreur EAGAIN (« la valeur
indiquée par new_level entraînerait un dépassement des ressources du
système »).
VERSIONS
Ces fonctions sont disponibles dans la glibc depuis la version 2.1.
CONFORMITÉ
POSIX.1-2001.
NOTES
Le niveau de concurrence par défaut est de 0.
Les niveaux de concurrence n’ont de sens que pour les implémentations
des threads M:N, pour lesquelles à un moment donné un sous-ensemble de
threads d’un processus peut être associé à un plus petit nombre
d’entités ordonnançable du noyau. Définir le niveau de concurrence
permet à une application de donner une indication au noyau pour qu’il
fournisse le bon nombre d’entités ordonnançable pour une exécution
efficace de l’application.
A la fois LinuxThreads et NPTL sont des implémentations des threads
1:1, donc définir le niveau de concurrence n’a pas de signification. En
d’autres termes, sous Linux ces fonctions existent essentiellement pour
la compatibilité avec d’autres systèmes et elles n’ont aucun effet sur
l’exécution d’un programme.
VOIR AUSSI
pthread_attr_setscope(3), pthreads(7)
COLOPHON
Cette page fait partie de la publication 3.23 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent être trouvées à l’adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION
Cette page de manuel a été traduite et est maintenue par Nicolas
François <nicolas.francois@centraliens.net> et l’équipe francophone de
traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande « man -L C <section> <page_de_man> ».