|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Inscription : décembre 2009 Messages : 128 ![]() |
Bonjour
j'ai à faire un programme qui doit créer n thread , n donnée par l'utilisateur, chaque thread afficher son tid. facile moi, je me bloque au niveau de la variable : pthread_t th; comment peux-je la généraliser ? le probléme que à chaque thread crée on attribue un variable pour lui seulement. bin, voilà mon essai cas même : Code :
je pense que le problème vient de la variable "th", mais comment pourrai-je créer n variable de ce type?!! merci bien de m'aider |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() frederic frances Inscription : juin 2009 Messages : 1 703 ![]() |
peux-tu controler la valeur de pthread_create
Citation:
Pour controller/gerer ce que font tes thread, il pourrait être sage de les gérer dans un tableau ou une liste ici tu trouver un tutorial interessant https://computing.llnl.gov/tutorials/pthreads/
__________________
BAZAR est un joyeux bordel improvisé ! Tous les mardis. http://www.improetcompagnie.com/publ...ctacles-6.html Citation:
http://www.emacswiki.org/ Attends de voir ce qui vas sortir de: http://www.pushmid.com |
||
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : décembre 2009 Messages : 128 ![]() |
merci pour votre réponse
ok, mais pour la dernière valeur de retour de pthread_create, qu'est veux dire ? est ce qu'il y a une limite pour le n ? si oui ou peux-je savoir la limite ,par PTHREAD_THREADS_MAX? si oui comment l'utiliser ? merci bien pour la conseil |
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() Inscription : décembre 2009 Messages : 128 ![]() |
le nombre que je donne à n est 2
|
|
|
00
|
|
|
#5 | ||
|
Membre à l'essai
![]() Inscription : décembre 2009 Messages : 128 ![]() |
bon, voilà j'ai pensé à créer un tableau contenat les variables threads:
Code :
|
||
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() frederic frances Inscription : juin 2009 Messages : 1 703 ![]() |
pour le thread id tu peux essayer cela (posix):
http://www.kernel.org/doc/man-pages/...ad_self.3.html ou ça qui est plus linux specifique: http://www.kernel.org/doc/man-pages/.../gettid.2.html Note: ces deux méthodes ne retourneront pas forcement la même valeur Par contre le pid ne change pas car tes threads sont tous dans le même processus. De plus je te conseil d'utiliser pthread_join pour attendre la fin de chacun de tes threads.
__________________
BAZAR est un joyeux bordel improvisé ! Tous les mardis. http://www.improetcompagnie.com/publ...ctacles-6.html Citation:
http://www.emacswiki.org/ Attends de voir ce qui vas sortir de: http://www.pushmid.com |
|
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : décembre 2009 Messages : 128 ![]() |
merci bien pour votre réponse.
bon,quelle bête suis-je ?!! au lieu de gettid j'ai écrit getpid et maintenant ça marche très bien ![]() meci beaucoup à vous |
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : décembre 2009 Messages : 128 ![]() |
SVP, quelle est la valeur max que "n" ne doit pas dépasser ?
c'est 2000,n'est ce pas ? |
|
|
00
|
|
|
#9 | ||
|
Membre Expert
![]() frederic frances Inscription : juin 2009 Messages : 1 703 ![]() |
Citation:
Sous linux cette limite peux être trouvé avec Ensuite tu peux jouer avec setrlimit/getrlimit http://www.kernel.org/doc/man-pages/...trlimit.2.html
__________________
BAZAR est un joyeux bordel improvisé ! Tous les mardis. http://www.improetcompagnie.com/publ...ctacles-6.html Citation:
http://www.emacswiki.org/ Attends de voir ce qui vas sortir de: http://www.pushmid.com |
||
|
|
00
|
|
|
#10 |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 5 464 ![]() |
Bonjour,
Ca depend si tu cherches la valeur absolue à ne pas dépasser (celle que ton système n'acceptera pas), ou bien la valeur raisonnable à ne pas dépasser. Cette dernière est bien inférieure à la première, mais dépend fortement de ton programme. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com