qu'est-ce que le “attribut” de pthread mutex?
La fonction pthread_mutex_init vous permet d'indiquer un pointeur vers un attribut. Mais je n'ai pas encore trouvé une bonne explication de ce que pthread attributs sont. J'ai toujours fourni la valeur NULL. Est-il l'utilisation de cet argument?
La documentation, pour ceux d'entre vous qui l'oublier:
PTHREAD_MUTEX_INIT(3) BSD Bibliothèque
Les Fonctions De Manuel
PTHREAD_MUTEX_INIT(3)NOM
pthread_mutex_init -- créer un mutexSYNOPSIS
#include <pthread.h> int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);
DESCRIPTION
Le pthread_mutex_init() fonction crée un mutex, avec des attributs
spécifié
avec attr. Si l'attribut est NULL, les attributs par défaut sont utilisés.
Vous devez vous connecter pour publier un commentaire.
Le meilleur endroit pour trouver de l'information, est de les normes de POSIX pages.
Un
NULL
mutex attribut vous donne une implémentation par défaut définie par l'attribut. Si vous voulez savoir ce que vous pouvez faire avec des attributs, découvrez la de référence suivants et suivez lespthread_mutexattr_*
liens dans leSEE ALSO
section. Généralement, la valeur par défaut est un bon jeu d'attributs mais il peut varier entre plates-formes, donc je préfère créer explicitement des mutex avec des attributs connus (mieux pour la portabilité).C'est pour la question 7 de la norme, 1003.1-2008. Le point de départ pour qui est ici. En cliquant sur
Headers
en bas à gauche vous permettra de naviguer à des fonctionnalités spécifiques (y comprispthreads.h
).Les attributs permettent de définir ou obtenir:
Et, pour être complet, il y a le init et de détruire les appels ainsi, ne sont pas directement liés à un attribut spécifique, mais utilisés pour les créer.
Tous les mutex les attributs sont définis dans un mutex attribut de l'objet par une fonction de la forme:
Tous les attributs de mutex sont récupérées à partir d'un mutex attribut de l'objet par une fonction de la forme:
où le nom et le Type sont définis dans le tableau ci-dessous:
Si vous faites défiler la liste de fonctions pour
<pthread.h>
, vous trouverez un tas depthread_mutexattr_...
fonctions, y compris uneinit
,destroy
et fonctions à définir les différents attributs de mutex. Lorsque vous passezNULL
, le mutex est créé avec adapté valeurs par défaut de tous ces attributs, mais si vous avez besoin de modifier les attributs spécifiques, vous pouvez construire unepthread_mutexattr_t
de la structure et de le transmettre.L'application NULLE à cet argument implique l'utilisation de l'argument par défaut.
Si pour quelques raisons que vous voulez modifier ces paramètres par défaut (à l'aide de pthread_mutexattr_init).
La documentation explique tous vous avez besoin à propos de ces mutex paramètres.