NOM¶
pthread_attr_setscope, pthread_attr_getscope - Définir ou obtenir la
contention d'un objet d'attributs de thread
SYNOPSIS¶
#include <pthread.h>
int pthread_attr_setscope(pthread_attr_t *attr, int scope);
int pthread_attr_getscope(pthread_attr_t *attr, int *scope);
Compilez et effectuez l'édition des liens avec l'option -pthread.
DESCRIPTION¶
La fonction
pthread_attr_setscope() définit l'attribut de contention
de l'objet d'attributs de thread auquel
attr fait référence
à la valeur indiquée par
scope. Cet attribut détermine
l'ensemble des threads avec lesquels un thread est en compétition pour
les ressources, telles que le CPU. POSIX.1-2001 spécifie deux valeurs
possibles pour
scope :
- PTHREAD_SCOPE_SYSTEM
- Le thread est en compétition pour les ressources avec
tous les threads de tous les processus du système qui sont dans le
même domaine d'allocation (un groupe composé d'un ou de
plusieurs processeurs). Les threads PTHREAD_SCOPE_SYSTEM sont
ordonnancés entre eux en fonction de leur priorité et de la
politique d'ordonnancement.
- PTHREAD_SCOPE_PROCESS
- Le thread est en compétition pour les ressources avec
tous les threads du même processus du système qui ont aussi
été créés avec PTHREAD_SCOPE_PROCESS. Les
threads PTHREAD_SCOPE_PROCESS sont ordonnancés entre eux
à l'intérieur du processus en fonction de leur priorité et
de la politique d'ordonnancement. POSIX.1-2001 ne spécifie pas
comment régler la compétition entre ces threads et les threads
d'autres processus du système, ni avec les threads du même
processus qui ont été créés avec
PTHREAD_SCOPE_SYSTEM.
POSIX.1-2001 impose qu'une implémentation doit supporter au moins l'une de
ces résolutions de compétition, mais autorise que les deux soient
supportés. Linux comprend
PTHREAD_SCOPE_SYSTEM, mais pas
PTHREAD_SCOPE_PROCESS.
La fonction
pthread_attr_getscope() renvoie, dans le tampon pointé
par
scope, l'attribut contenant le mode de résolution de
compétition de l'objet d'attributs de thread
attr.
VALEUR RENVOYÉE¶
En cas de réussite, ces fonctions renvoient 0 ; en cas d'erreur elles
renvoient un numéro d'erreur non nul.
ERREURS¶
pthread_attr_setscope() peut échouer avec les erreurs
suivantes :
- EINVAL
- Une valeur invalide a été spécifiée
dans scope.
- ENOTSUP
- La valeur PTHREAD_SCOPE_PROCESS est
spécifiée dans scope, or elle n'est pas supportée
sous Linux.
POSIX.1-2001.
NOTES¶
La valeur
PTHREAD_SCOPE_SYSTEM indique typiquement qu'un thread dans
l'espace utilisateur est rattaché directement à une entité
unique d'ordonnancement du noyau. C'est le cas sous Linux avec
l'implémentation obsolète LinuxThreads, mais aussi avec
l'implémentation moderne NPTL, qui sont toutes les deux des
implémentations de threads 1:1.
POSIX.1-2001 spécifie que chaque implémentation est libre de
définir la valeur par défaut.
VOIR AUSSI¶
pthread_attr_init(3),
pthread_attr_setaffinity_np(3),
pthread_attr_setinheritsched(3),
pthread_attr_setschedparam(3),
pthread_attr_setschedpolicy(3),
pthread_create(3),
pthreads(7)
COLOPHON¶
Cette page fait partie de la publication 3.44 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/>.
Denis Barbier (2010).
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> ».