PTHREAD_SETCONCURRENCY(3)

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);

Compiler et éditer les liens avec -pthreads.

DESCRIPTION
La fonction pthread_setconcurrency() informe l'implémentation du niveau de concurrence (nombre de threads 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 réussite, 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 also documents an EAGAIN error ("the value specified by new_level would cause a system resource to be exceeded").

VERSIONS
Ces fonctions sont disponibles dans la glibc depuis la version 2.1.

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
pthread_setconcurrency(), pthread_getconcurrency() | Sécurité des threads | MT-Safe

CONFORMITÉ
POSIX.1-2001, POSIX.1-2008.

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 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Frédéric Hantrais <fhantrais@gmail.com> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.