pthread_attr_setscope
Section: C Library Functions (3)
Updated: 15 décembre 2022
Index
Return to Main Contents
NOM
pthread_attr_setscope, pthread_attr_getscope - Définir ou obtenir la
contention d'un objet d'attributs de thread
BIBLIOTHÈQUE
Bibliothèque de threads POSIX (libpthread, -lpthread)
SYNOPSIS
#include <pthread.h>
int pthread_attr_setscope(pthread_attr_t *attr, int scope);
int pthread_attr_getscope(const pthread_attr_t *restrict attr,
int *restrict scope);
DESCRIPTION
The pthread_attr_setscope() function sets the contention scope attribute
of the thread attributes object referred to by attr to the value
specified in scope. The contention scope attribute defines the set of
threads against which a thread competes for resources such as the CPU.
POSIX.1 specifies two possible values for 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
-
The thread competes for resources with all other threads in the same process
that were also created with the PTHREAD_SCOPE_PROCESS contention scope.
PTHREAD_SCOPE_PROCESS threads are scheduled relative to other threads in
the process according to their scheduling policy and priority. POSIX.1
leaves it unspecified how these threads contend with other threads in other
process on the system or with other threads in the same process that were
created with the PTHREAD_SCOPE_SYSTEM contention scope.
POSIX.1 requires that an implementation support at least one of these
contention scopes. Linux supports PTHREAD_SCOPE_SYSTEM, but not
PTHREAD_SCOPE_PROCESS.
Sur les systèmes qui acceptent plusieurs arbitrages de compétition, pour que
la politique définie par pthread_attr_setscope() puisse être prise en
compte lors de l'appel de pthread_create(3), l'appelant doit définir
l'attribut d'ordonnancement hérité de l'objet attr au moyen de
pthread_attr_setinheritsched(3), en lui assignant la valeur
PTHREAD_EXPLICIT_SCHED.
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 succès, ces fonctions renvoient 0 ; en cas d'erreur, elles
renvoient un code 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.
ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface | Attribut | Valeur
|
pthread_attr_setscope(),
pthread_attr_getscope()
| Sécurité des threads | MT-Safe
|
STANDARDS
POSIX.1-2001, POSIX.1-2008.
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 specifies that the default contention scope is
implementation-defined.
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)
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
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 à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- ATTRIBUTS
-
- STANDARDS
-
- NOTES
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 07:06:05 GMT, May 18, 2024