pthreads | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
NOM | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
POSIX.1 réclame également que les threads partagent un ensemble d'autres attributs (c'est-à-dire que ces attributs sont à l'échelle du processus plutôt que spécifiques à chaque thread) :
En plus de la pile, POSIX.1 spécifie divers autres attributs propres à chaque thread, incluant :
Les fonctionnalités suivantes, spécifiques à Linux, sont également par thread :
Fonctions sûres du point de vue des threads | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
POSIX.1-2001 réclame que toutes les fonctions indiquées dans la norme soit sûres du point de vue des threads, excepté les fonctions suivantes :
asctime() basename() catgets() crypt() ctermid() s'il lui est passé un argument non NULL ctime() dbm_clearerr() dbm_close() dbm_delete() dbm_error() dbm_fetch() dbm_firstkey() dbm_nextkey() dbm_open() dbm_store() dirname() dlerror() drand48() ecvt() encrypt() endgrent() endpwent() endutxent() fcvt() ftw() gcvt() getc_unlocked() getchar_unlocked() getdate() getenv() getgrent() getgrgid() getgrnam() gethostbyaddr() gethostbyname() gethostent() getlogin() getnetbyaddr() getnetbyname() getnetent() getopt() getprotobyname() getprotobynumber() getprotoent() getpwent() getpwnam() getpwuid() getservbyname() getservbyport() getservent() getutxent() getutxid() getutxline() gmtime() hcreate() hdestroy() hsearch() inet_ntoa() l64a() lgamma() lgammaf() lgammal() localeconv() localtime() lrand48() mrand48() nftw() nl_langinfo() ptsname() putc_unlocked() putchar_unlocked() putenv() pututxline() rand() readdir() setenv() setgrent() setkey() setpwent() setutxent() strerror() strtok() tmpnam() s'il lui est passé un argument non NULL ttyname() unsetenv() wcrtomb() si son dernier argument est NULL wcsrtombs() si son dernier argument est NULL wcstombs() wctomb()
Compilation sous Linux | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Implémentations Linux des threads POSIX | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Toutes les deux sont appelées implémentations 1:1, signifiant que chaque thread correspond à une entité d'ordonnacement noyau.
Les deux implémentations utilisent l'appel système Linux clone(2).
Dans la bibliothèque NPTL, les primitives de synchronisation de thread (mutexes, attachement de thread, etc.) sont implémentées en utilisant l'appel système Linux futex(2).
LinuxThreads | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
L'implémentation LinuxThreads dévie des spécifications POSIX.1 de plusieurs façons, incluant :
NPTL | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
NPTL a aussi au moins un non conformité avec POSIX.1 :
Certaines non conformités NPTL peuvent apparaîtrent sur d'anciens noyaux :
Veuillez noter les points suivants concernant l'implémentation NPTL :
Déterminer l'implémentation de threading | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
bash$ getconf GNU_LIBPTHREAD_VERSION NPTL 2.3.4
Pour les versions plus anciennes de la glibc, une commande telle la suivante devrait être suffisante pour déterminer l'implémentation de threading :
bash$ $( ldd /bin/ls | grep libc.so | awk '{print $3}' ) | \ egrep -i 'threads|nptl' Native POSIX Threads Library by Ulrich Drepper et al
Sélectionner l'implémentation de threading : LD_ASSUME_KERNEL | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
bash$ $( LD_ASSUME_KERNEL=2.2.5 ldd /bin/ls | grep libc.so | \ awk '{print $3}' ) | egrep -i 'threads|ntpl' linuxthreads-0.10 by Xavier Leroy
VOIR AUSSI | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
TRADUCTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 27 juin 2006 et révisée le 6 juin 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 7 pthreads ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Table des mots clés | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
LinuxThreads | Implémentations Linux des threads POSIX |
NPTL (Native POSIX Threads Library) | Implémentations Linux des threads POSIX |