pthread_setconcurrency(3) Définir ou récupérer le

Other Alias

pthread_getconcurrency

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.

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-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.

COLOPHON

Cette page fait partie de la publication 3.65 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

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <[email protected]> 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> ».