j'amerais savoir quel est le principe de fonctionnement des fonction pthread_key_create, pthread_setspecific, pthread_getspecific, pthread_once
et à quoi elles servent?
j'amerais savoir quel est le principe de fonctionnement des fonction pthread_key_create, pthread_setspecific, pthread_getspecific, pthread_once
et à quoi elles servent?
En fait la réponse est dans ton man![]()
Comme je ne suis pas chien je répondrait à une intérrogation :
L'idée de pthread_once est de lancer une action une seule fois, c'est typiquement le cas d'une fonction d'initialisation.pthread_once
En clair si tu as le code de tes thread qui est comme ceci :
lorsque tu crées tes threads qui ont pour code la fonction précédente, seul le premier thread (le premier à prendre la main, c'est pas forcément le premier crée) va éxécuter la fonction init. Les autres ne feront rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void * codeThread( void * param ) { pthread_once( &ctrl, init ) ... }
Pour connaitre les arguments de la fonction, utilises le man.
Tu as un bon exemple ici :
http://publib.boulder.ibm.com/iserie...s/users_27.htm
Ok merci, j'ai lu le man de ces commandes mais c'est pas toujours évident de faire le lien avec ce qui est das ce man et ce qu'on peut effectivement faire avec une commande alors dans ce cas je préfère m'adresser à ceux qui se sont déja essayé à la commande
Partager