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

  FORUM HardWare.fr
  Programmation
  C++

  [Thread] Savoir qd un thread se termine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Thread] Savoir qd un thread se termine

n°963625
fluminis
Posté le 27-01-2005 à 12:15:35  profilanswer
 

Bonjour
 
Je tente desesperement de faire la chose suivante :
 
mon appli lance un thread, pendant que le thread travail de son coté, l'utilisateur a le droit de faire d'autres choses. Et je voudrais qu'a la fin du thread, le thread principal reprenne la main et execute une action particuliere.
 
Je fais developpe en MFC sous visual une appli MDI.
J'arrive a lancer le thread, a le killer si necessaire, mais je n'arrive pas à lancer un evenement, ou un message pour avertir la fenetre principale que le thread a fini son travail.
 
Comment dois je faire ?
 
Merci d'avance

mood
Publicité
Posté le 27-01-2005 à 12:15:35  profilanswer
 

n°963657
grostony
Posté le 27-01-2005 à 12:53:57  profilanswer
 

Bonjour,
 
je ne sais pas exactement comment marche les Threads, mais des fois en ajoutant un booléen dans ton programme initialisé false, puis en le mettant à true à la fin de ton thread ça devrait marcher nan ?
 
En pseudo c++ (comme j'ai dit je ne connais pas trop la prog des threads).
 

Code :
  1. boolean threadFini = false;
  2. int main(int argc, car* argv[]){
  3.    lancerThread();
  4.    while(!threadFini){
  5.      if (threadFini){
  6.        lancerEvennement();
  7.      }else{
  8.        progUtilisateur();
  9.      }
  10.    }
  11. }
  12. void lancerThread(){
  13.    // gestion du thread
  14.    ...
  15.    // à la fin:
  16.    threadFini = true;
  17. }
  18. void lancerEvennement(){
  19.    ...
  20. }
  21. void progUtilisateur(){
  22.    ...
  23. }


 
En même temp je ne sais pas exactement ce que tu veux faire, si c'est juste pour avertir que ton thread est fini, ajoute

Code :
  1. #include <windows.h>


à ton prog et à la fin de ton thread met:

Code :
  1. MessageBox(NULL,"Thread fini.","Info",MB_OK|MB_ICONEXCLAMATION);


Message édité par grostony le 27-01-2005 à 12:58:48
n°963663
fluminis
Posté le 27-01-2005 à 13:01:08  profilanswer
 

je ne m'y connais pas trop non plus d'ou ma question :)
 
Moi j'aurais plutot fait :
1. ma fenetre MFC se lance
2. l'utilisateur lance la tache (donc je lance le thread)
3. il fait tout ce qu'il veut
4. le thread se termine tout seul
5. il lance un evenement
6. la fenetre recupere cet evenement (ou ce message?) et rafraichi l'affichage
 
et ce que je ne sais pas faire c'est les etapes 5 et 6

n°964917
grostony
Posté le 28-01-2005 à 18:22:32  profilanswer
 

Bein en mettant simplement une MessageBox à la fin de ton thread ça ne te va pas (sinon je ne sais pas s'il y a une gestion de barre de status dans les MFC mais tu peux aussi y faire afficher dedans si c'est le cas, au moins l'utilisateur n'aura pas à cliquer) ? Il y aura bien un évenement et l'utilisateur pourra continuer ce qu'il fait.

n°964982
SquiZZ
Posté le 28-01-2005 à 20:48:26  profilanswer
 

tu peux poster un message à ta fenetre principale.
 
regarde du coté de AfxGetMainWnd, PostMessage.
 
reste a gérer ca dans ta fenetre principale, avec une MESSAGE_MAP kivabien.

n°965125
fluminis
Posté le 28-01-2005 à 23:12:01  profilanswer
 

SquiZZ => ouais c'est la solution que j'ai adopté sauf que je voulais envoyer un message directement a ma classe view et la c'est un peu galere mais j'ai trouve un truc dans la msdn de microsoft qui disait comment faire donc merci c'est resolu :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Thread] Savoir qd un thread se termine

 

Sujets relatifs
recuperer automatiquement le numero du thread[java] creer un thread qui lance des exceptions
[ASP.NET / C#] Savoir si un contrôle a été initialisé ou nonsavoir si un enregistrement existe deja
[Delphi] Utiliser MessageDlg dans un thread ?Boost::thread
Comment faire mon threadComment savoir si une varaibale est un nombre, une chaine ????
thread mutex et mémoire partagéethread en parallele
Plus de sujets relatifs à : [Thread] Savoir qd un thread se termine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR