Man page - pthread_attr_getscope(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

pthread_attr_setscope

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
STANDARDS
HISTORIQUE
NOTES
VOIR AUSSI
TRADUCTION

NOM

pthread_attr_setscope, pthread_attr_getscope — DĂ©finir ou obtenir l’attribut portĂ©e de compĂ©tition 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 portée );
int pthread_attr_getscope(const pthread_attr_t *restrict
attr ,
int *restrict
portée );

DESCRIPTION

La fonction pthread_attr_setscope () dĂ©finit l’attribut de portĂ©e (« scope ») de compĂ©tition de l’objet d’attributs de thread auquel attr fait rĂ©fĂ©rence Ă  la valeur indiquĂ©e par portĂ©e . 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 spĂ©cifie deux valeurs possibles pour portĂ©e :
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’ordonnancement (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 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 impose qu’une implĂ©mentation doit accepter au moins l’une de ces portĂ©es de compĂ©tition. Linux accepte PTHREAD_SCOPE_SYSTEM , mais pas PTHREAD_SCOPE_PROCESS .

Sur les systĂšmes qui acceptent plusieurs portĂ©es 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 d’attributs 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 portĂ©e , l’attribut de portĂ©e 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 non valable a été spécifiée dans portée .

ENOTSUP

La valeur PTHREAD_SCOPE_PROCESS est spĂ©cifiĂ©e dans portĂ©e , or elle n’est pas prise en charge sous Linux.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes (7).

Image grohtml-3867600-1.png

STANDARDS

POSIX.1-2008.

HISTORIQUE

POSIX.1-2001.

NOTES

La portĂ© de compĂ©tition 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 spĂ©cifie que la portĂ©e de compĂ©tition par dĂ©faut est dĂ©finie par l’implĂ©mentation.

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>, Frédéric Hantrais <fhantrais@gmail.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

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 à debian-l10n-french@lists.debian.org .