Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3174 connectés 

 


Dernière réponse
Sujet : multi-threading en Visual C++
guillot Merci pour tous ces conseils !
 
En ce qui concerne l'arrêt de mon thread par un évènement extérieur, c'est parce que c'est dans le cadre d'un client FTP.
En fait lorsque j'effectue un téléchargement par exemple, je veux que l'utilisateur puisse le stopper quand il le souhaite, et ce sans être obligé d'attendre la fin. Mon téléchargement est contenu dans un thread, d'où l'idée de le stopper à tout moment !
 
En revanche, en ce qui concerne le waitForSimpleObject, si possible j'aimerai avoir + d'infos SVP ? :)
 
merci

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
guillot Merci pour tous ces conseils !
 
En ce qui concerne l'arrêt de mon thread par un évènement extérieur, c'est parce que c'est dans le cadre d'un client FTP.
En fait lorsque j'effectue un téléchargement par exemple, je veux que l'utilisateur puisse le stopper quand il le souhaite, et ce sans être obligé d'attendre la fin. Mon téléchargement est contenu dans un thread, d'où l'idée de le stopper à tout moment !
 
En revanche, en ce qui concerne le waitForSimpleObject, si possible j'aimerai avoir + d'infos SVP ? :)
 
merci
SoWhatIn22 Pour la synchronisation des threads sous windows, tu peux utiliser les evenements: Avant de quitter le thread, tu lui fait mettre un evenement windows à l'etat signalé. Pour savoir si le thread est fini, tu fais alors un waitForSimpleObject sur l'evenement en question.
C'est souvent comme cela que c'est fait sous windows. En fait cette méthode te permet aussi d'attendre plusieurs threads en faisant un waitForMultipleObjects.
Avec les evenements, tu es quasi sûr de ne pas avoir de conflits d'acces sur une variable (ce qui peux tres vite arriver le jour ou ton prog tourne sur un bi-pro par ex).
 
a+
BENB wpk > c'est meme la seule methode fiable...
 
sinon pour le handle il doit etre renvoye par la methode qui cree la thread. De plus il y a certainement une methode pour savoir dans quel thread tu es (pthread_self en POSIX)...
 
Dans wxWindows il y a une classe wxThread qui comporte un membre statique Self me semble-t-il...
 
cesi dit vouloir arreter un thread de l'exterieur est une mauvaise idee... Il faut qu'il s'arrete de lui-meme...
wpk je pense que vouloir interompre tes thread autrement qu'en sortant de leur fonction principale n'est pas une idee geniale. La solution propre consiste a avoir un booleen qui peut etre modifie en dehors du thread et qui te permet de sortir de ton thread en douceur.
guillot Bonjour,
 
Je reviens avec mon problème de client FTP...
D'abord merci à ceux qui m'ont aidé pour l'intégration de multi-threading dans mon application.
 
Maintenant que ça marche, j'ai un autre problème. J'utilise la fonction AfxBeginThread() pour créer mes threads.
L'ennui c'est que j'aurais besoin de connaitre le "handle" de mes threads créés pour ainsi pouvoir les stopper lorsque je le souhaite.
De plus, j'aimerai savoir s'il était possible de savoir quand un thread se termine ? et comment exécuter une action à la fin d'un thread ?
 
Merci d'avance

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)