table of contents
pthread_getattr_default_np(3) | Library Functions Manual | pthread_getattr_default_np(3) |
NOM¶
pthread_attr_setaffinity_np, pthread_attr_getaffinity_np – Définir ou obtenir les attributs de création de thread
BIBLIOTHÈQUE¶
Bibliothèque de threads POSIX (libpthread, -lpthread)
SYNOPSIS¶
#define _GNU_SOURCE /* Consultez feature_test_macros(7) */ #include <pthread.h>
int pthread_getattr_default_np(pthread_attr_t *attr); int pthread_setattr_default_np(const pthread_attr_t *attr);
DESCRIPTION¶
La fonction pthread_setattr_default_np() règle les attributs par défaut qui sont utilisés pour créer un nouveau thread — c'est-à-dire les attributs qui sont utilisés quand pthread_create(3) est appelé avec un second attribut de valeur NULL. Les attributs par défaut sont réglés avec les attributs fournis par *attr, un objet d'attributs de thread initialisé auparavant. Veuillez noter les détails suivants sur l'objet d'attributs fourni :
- Les réglages d'attributs dans l'objet doivent être valables.
- L'attribut adresse de pile ne doit pas être défini dans l'objet.
- Régler l'attribut taille de pile à zéro signifie laisser inchangée la taille de pile par défaut.
La fonction pthread_getattr_default_np() initialise l'objet d'attributs de thread auquel attr fait référence de telle sorte qu'il contienne les valeurs d'attributs par défaut utilisées pour la création du thread.
ERREURS¶
ATTRIBUTS¶
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur |
pthread_getattr_default_np(), pthread_setattr_default_np() | Sécurité des threads | MT-Safe |
STANDARDS¶
GNU ; c'est la raison du suffixe « _np » (non portable) dans leur nom.
HISTORIQUE¶
glibc 2.18.
EXEMPLES¶
Le programme ci-dessous utilise pthread_getattr_default_np() pour récupérer les attributs par défaut de création de thread, puis affiche divers réglages de l'objet renvoyé d'attributs de thread. Lors de l'exécution du programme, la sortie suivante est affichée :
$ ./a.out Stack size: 8388608 Guard size: 4096 Scheduling policy: SCHED_OTHER Scheduling priority: 0 Detach state: JOINABLE Inherit scheduler: INHERIT
Source du programme¶
#define _GNU_SOURCE #include <err.h> #include <errno.h> #include <pthread.h> #include <stdio.h> #include <stdlib.h> static void display_pthread_attr(pthread_attr_t *attr) {
int s;
size_t stacksize;
size_t guardsize;
int policy;
struct sched_param schedparam;
int detachstate;
int inheritsched;
s = pthread_attr_getstacksize(attr, &stacksize);
if (s != 0)
errc(EXIT_FAILURE, s, "pthread_attr_getstacksize");
printf("Stack size: %zu\n", stacksize);
s = pthread_attr_getguardsize(attr, &guardsize);
if (s != 0)
errc(EXIT_FAILURE, s, "pthread_attr_getguardsize");
printf("Guard size: %zu\n", guardsize);
s = pthread_attr_getschedpolicy(attr, &policy);
if (s != 0)
errc(EXIT_FAILURE, s, "pthread_attr_getschedpolicy");
printf("Scheduling policy: %s\n",
(policy == SCHED_FIFO) ? "SCHED_FIFO" :
(policy == SCHED_RR) ? "SCHED_RR" :
(policy == SCHED_OTHER) ? "SCHED_OTHER" : "[unknown]");
s = pthread_attr_getschedparam(attr, &schedparam);
if (s != 0)
errc(EXIT_FAILURE, s, "pthread_attr_getschedparam");
printf("Scheduling priority: %d\n", schedparam.sched_priority);
s = pthread_attr_getdetachstate(attr, &detachstate);
if (s != 0)
errc(EXIT_FAILURE, s, "pthread_attr_getdetachstate");
printf("Detach state: %s\n",
(detachstate == PTHREAD_CREATE_DETACHED) ? "DETACHED" :
(detachstate == PTHREAD_CREATE_JOINABLE) ? "JOINABLE" :
"???");
s = pthread_attr_getinheritsched(attr, &inheritsched);
if (s != 0)
errc(EXIT_FAILURE, s, "pthread_attr_getinheritsched");
printf("Inherit scheduler: %s\n",
(inheritsched == PTHREAD_INHERIT_SCHED) ? "INHERIT" :
(inheritsched == PTHREAD_EXPLICIT_SCHED) ? "EXPLICIT" :
"???"); } int main(void) {
int s;
pthread_attr_t attr;
s = pthread_getattr_default_np(&attr);
if (s != 0)
errc(EXIT_FAILURE, s, "pthread_getattr_default_np");
display_pthread_attr(&attr);
exit(EXIT_SUCCESS); }
VOIR AUSSI¶
pthread_attr_getaffinity_np(3), pthread_attr_getdetachstate(3), pthread_attr_getguardsize(3), pthread_attr_getinheritsched(3), pthread_attr_getschedparam(3), pthread_attr_getschedpolicy(3), pthread_attr_getscope(3), pthread_attr_getstack(3), pthread_attr_getstackaddr(3), pthread_attr_getstacksize(3), pthread_attr_init(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.
2 mai 2024 | Pages du manuel de Linux (non publiées) |