Accueil > Forum > > > > Connaitre l'état d'un thread pour quitter l'appli
Connaitre l'état d'un thread pour quitter l'appli
vendredi 29 juillet 2005 à 15:12:29 |
Connaitre l'état d'un thread pour quitter l'appli

themaste
|
Salut a tous! Voila, j'ai un programme dans lekel j'ai lancé plusieurs thread, dont un principal (du point de vue fonctionnalité). Qd ce dernier s'arrete, les autres doivent s'arreter. Mon souci, c'est que je n'arrive pas a trouver comment savoir s'il s'est arreter ou pas AfxBeginThread(MyThreadProc1, l_poElement1); AfxBeginThread(MyThreadProc2, l_poElement2);
while(1) { Sleep(100); }
Comment je peux donc sortir de mon while, au moment ou le premier thread est terminé ??
J'ai essayer GetExitCodeThread, mais je n'ai pas reussi a le faire marcher comme il faut apriori.
Merci pour votre aide.
|
|
vendredi 29 juillet 2005 à 15:30:17 |
Re : Connaitre l'état d'un thread pour quitter l'appli

BruNews
|
Une boucle sans fin est la pire des solutions, à enlever. Utiliser WaitForSingleObject ou WaitForMultipleObjects selon le cas.
ciao... BruNews, MVP VC++
|
|
vendredi 29 juillet 2005 à 15:53:09 |
Re : Connaitre l'état d'un thread pour quitter l'appli

vecchio56
|
Ou bien tout simplement une variable booléenne globale, qui reste a mon avis une meilleure solution pour des cas simples.
|
|
vendredi 29 juillet 2005 à 15:56:10 |
Re : Connaitre l'état d'un thread pour quitter l'appli

themaste
|
Vous auriez un exemple concret a me donner? Par exemple, comment je peux utiliser le WaitForSingleObject ? Oui si je passe par une variable globale, c que je garde mon while?
|
|
vendredi 29 juillet 2005 à 15:58:28 |
Re : Connaitre l'état d'un thread pour quitter l'appli

vecchio56
|
Dans les deux cas on garde un while
|
|
vendredi 29 juillet 2005 à 16:08:42 |
Re : Connaitre l'état d'un thread pour quitter l'appli

themaste
|
Par rapport a ce que j'ai marqué, vous tu pourrais me modifier le code comme il faut? Car franchement, je vois pas. Je pense que le WaitForSingleObject serait bien, mais je vois pas comment l'utiliser.....
|
|
vendredi 29 juillet 2005 à 16:12:52 |
Re : Connaitre l'état d'un thread pour quitter l'appli

BIG_BOSS_001
|
Salut,
Pour utiliser WaitForSingleObject tu peux faire ceci :
Tu dois mettre en premier paramètre le handle de ton thread et en second le temps d'attente. Par exemple : DWORD hThreadStatus; // Qui va savoir si ton thread est toujours actif hThreadStatus = WaitForSingleObject(hMon_HANDLE, 100); if (hThreadStatus == WAIT_TIMEOUT) { // Le Thread na pas fini son travail. }
Voilà
BIG_BOSS
|
|
vendredi 29 juillet 2005 à 16:13:18 |
Re : Connaitre l'état d'un thread pour quitter l'appli

BruNews
|
vecchio > pas de while sur attente de fin de thread, justement ce qui est à enlever.
sans MFC: hthrd = CreateThread(...); WaitForSingleObject (hthrd, INFINITE); le reste sera exécuté quand hthrd sera fini.
ciao... BruNews, MVP VC++
|
|
vendredi 29 juillet 2005 à 16:36:34 |
Re : Connaitre l'état d'un thread pour quitter l'appli

vecchio56
|
Oui, j'avais en tête une utilisation non bloquante, mais la c'est vrai que WaitForSingleObject est la meilleure solution, toutes mes excuses
|
|
vendredi 29 juillet 2005 à 16:51:48 |
Re : Connaitre l'état d'un thread pour quitter l'appli

BIG_BOSS_001
|
[Citation de BruNews] hthrd = CreateThread(...); WaitForSingleObject (hthrd, INFINITE); le reste sera exécuté quand hthrd sera fini. [/Citation de BruNews]
BruNews tu pourrai m'expliquer stp comment on fait pour exécuté le code sous la ligne WaitForSingleObject avec pour segond paramètre INFINITE si par exemple le Thread est bloqué sur quelques choses ? (c'est peut-être bête comme question mais je débute en WIN32)
BIG_BOSS
|
|
Cette discussion est classée dans : appli, connaitre, thread, état, quitter
Répondre à ce message
Sujets en rapport avec ce message
synchronisation multithread [ par hak5 ]
salut a tous, je developpe une appli faisant tourner 2 threads. je synchronise mes deux thread grace a une variable globale : il y a un thread qui met
Thread ou timer ? [ par christophelande ]
Bonjour à tous. Je suis en train de développer une appli permettant de visualiser (sous forme de jauge) l'activité CPU, la RAM utilisée, le traffic ré
Thread et multiprocesseur [ par themaste ]
Salut a tous!Voila, j'ai une appli multithread, avec un principal, et 3 autres dit "secondaire".Le premier est principale dans le sens ou c'est lui qu
Chemin vers les repoertoires speciaux [ par otofraise ]
Bonjour,Je voudrais connaitre les chemins permettant d'acceder aux repertoires speciaux comme Mes Documents et Favoris Reseau.Pour cela j'ai voulu uti
Question bête :( [ par lamoueste ]
voila j'arrive pas a me servir de thread.IsAlive pour savoir si mon thread est en cours d'execution :( alors je vous met la declaration de mon thread
Threads + Reseau [ par Zootella ]
Salut Voila j'ai fait une passerelle reseau, elle connecte les clients aux serveurs qu'ils veulent. Tout marche bien, mais le programme utilise 99%
pb pour tuer un thread proprement [ par Krystall2002 ]
bonjour.. suis en train de develloper une appli pour le contrôle d'un robot. dans le codage des événements d'exception. j'ai besoin lors d'une erreur
Lancer 2 fois la même appli. [ par elademri ]
--API WIN32--Tout est dans le titre, mon problème : créer un prog permettant de lancer la même application 2 fois, chose impossible pour l'application
ERREUR Lors de l'execution d'une thread [ par Jeff_Trek ]
Bonjour,J'ai un problème à l'execution d'une tache qui démarre un client Socket IP.Erreur : Unhandled exception in CrossServeur_V2.0.0.exe : 0xC000000
Appli non MFC utilisant une DLL MFC : comment pomper les messages SOCKET ? [ par jeppy ]
Salut à tous, Voila, j'ai un gros os sur lequel je suis depuis un moment et impossible de trouver une réponse ! Je bosse acutellement sur une appli, q
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|