Bonjours, je dois faire une recherche grâce à des threads. mais je voudrais savoir comment arrêter tout les threads quand j'ai la réponse.
Mes threads sont stoqués dans un tableau (pthread_t *mythread
Merci d'avance
Olivier
Bonjours, je dois faire une recherche grâce à des threads. mais je voudrais savoir comment arrêter tout les threads quand j'ai la réponse.
Mes threads sont stoqués dans un tableau (pthread_t *mythread
Merci d'avance
Olivier
Il n'y a pas une fonction pthread cancel ? Sinon, pour avoir une vue de l'ensemble des fonctions disponibles dans la librairie pthread, tu dois pouvoir faire un man pthread.h, peut être que tu y trouveras de l'inspiration.
Lire la doc :Envoyé par OlivierDotre
http://www.llnl.gov/computing/tutorials/pthreads/
Sympa ce lien, bookmarké, merciEnvoyé par Emmanuel Delahaye
![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Merci, c'est parfait ça marche :d:d
+1 en plus c'est pas la premiere fois que je vois des liens sympatoches d'Emmanuel. Faudrait un jour qu'il organise une vente aux encheresEnvoyé par Franck.H
![]()
Salut c'est encore moi
j'ai donc fait ma fonction mais une fois sur deux elle renvois un code d'erreur
Donc je ne sais pas comment faire, mais j'ai l'impression que ma méthode à certaine lacune car des threads ne s'arretent aps de suite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void kill_threads(int n){ int i; print_terminal("Main","Killing the threads..."); for(i=1;i<MAX_THREADS+1;i++) { //pthread_cancel(mythread[i]); if(i!=n){ if(pthread_cancel(mythread[i])) error_exit("error while killing thread."); } } print_terminal("Main","Threads killed..."); }
Merci
slt,
lorsque tu travaille avec des tableaux ou des pointeurs sur un ensemble de donnée, n'oublie pas que le premier élément se trouve à l'indice 0 et non à 1.
tu dois donc initialiser ta variable i à 0 et tourner jusqu'à MAX_THREAD.
Si tes threads ne s'arrêtent pas tt de suite, c'est parce que tu n'as pas utilisé les bonnes options. Il faut que tu indiques dans chacun de tes threads que tu acceptes de te faire tuer, tu dois également indiquer de quelle façon (directement ou de façon diffèrée).
va voir les pages de manuel de pthread_cancel pour plus de détails.
voila j'espère que cela te donne déjà quelques pistes.
++
Partager