IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Fin de Thread


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 46
    Par défaut Fin de Thread
    Bonjour, j'aimerais savoir s'il existe une fonction qui permet d'attendre la fin d'un thread ?


    Je créé le thread avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    HANDLE hProcessThread;
    hProcessThread = CreateThread(NULL,0,&CTab_Optim::ThreadLauncher,&var_process,0,NULL);
    
    sachant que ThreadLauncher est une fonction static qui a la base fait un calcul qui prend le proc bien violemment (calcul scientifique), avec les parametres dans var_process une variable globale de l'objet en cours

    Si je fais ça, c'est pour garder la main sur le thread courant en affichant une barre de progression à l'écran, pendant que l'autre thread calcul

    mais j'aimerais aussi savoir quand il s'arrete

    j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    LPDWORD ret;
    GetExitCodeThread(hProcessThread,ret);
    
    et un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
    while((*ret)!=1)
    {
    GetExitCodeThread(hProcessThread,ret);
    }
    Mais parfois j'ai une exception sur le while ((*ret)!=1

    mais je ne sais pas pourquoi...

    Alors plutot que d'interroger le thread sur sa réponse à l'exit code, je me demandais s'il n'y avait pas une fonction de wait sur un thread donné.. Mais je ne trouve pas dans la msdn


    merki

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Salut,

    tu as regardé du côté du WaitForSingleObject() ?

  3. #3
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ou sinon, si tu as une boucle de message, tu peux t'envoyer un message privé signalant la fin du thread

  4. #4
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 46
    Par défaut
    merci à vous deux


    Pour le coup du message, j'aurais du y penser (je sais pas, c'est peut etre pas ma journée ^^), vu que je le fais dans la gestion de mes threads pour mon serveur multi-thread...

    Enfin bref, j'ai opté pour un mutex avec un WaitForSingleObject... Je n'avais jamais utilisé, c'était l'occasion de jeter un oeil ^^

    Plus d'exception

    juste de la corruption d'affichage (genre j'ai perdu mes \r\n dans le log de résultat, je sais pas pourquoi, mais je vais trouver :p)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. avertissement fin de Thread
    Par Papy214 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/01/2008, 14h06
  2. Fin de thread
    Par DarkBear dans le forum C#
    Réponses: 8
    Dernier message: 31/05/2007, 15h21
  3. PostMessage et fin de thread
    Par titoine1978 dans le forum MFC
    Réponses: 8
    Dernier message: 26/05/2006, 22h50
  4. [C#] Attente fin de thread
    Par ekinox17 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 18/05/2006, 15h52
  5. Attendre la fin des threads fils d'un processus
    Par SteelBox dans le forum Windows
    Réponses: 15
    Dernier message: 24/02/2006, 16h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo