Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : attendre un thread [ Divers / Divers ] (Audias06)

lundi 15 octobre 2007 à 12:25:36 | attendre un thread

Audias06

Bonjour,

Mon application (C++ SOUS VISUAL NET) nécessite de lancer un thread puis, que pendant ce temps, l'application principale (qui à lancé le thread) attende que le thread lui redonne la main pour continuer.

Application principale -> lance le thread
le thread s'exécute et l'application principale est à l'arrêt (attend)
le thread se termine -> l'application principale reprend la main est continue...

pour le moment j'ai utilisé un handle, définis dans mon appli principal avant de lancer le thread:
          m_hEvent = CreateMutex(NULL, FALSE, NULL);  // name of mutex
          OpenMutex(SYNCHRONIZE ,TRUE,"m_hEvent");
 
// on lance le thread qui gère le traitement de la séquence d'analyse                 AfxBeginThread(ThreadTraitement,this,THREAD_PRIORITY_LOWEST,0,THREAD_TERMINATE,NULL);
         
//on attend la fin du thread
WaitForSingleObject(m_hEvent,INFINITE); //45000

//on détruit le handle
ReleaseMutex(m_hEvent);
m_hEvent = NULL;

Et évidemment à la fin de mon thread, j'envoie à mon appli principal le handle pour sortir du wait for...

ReleaseMutex(dialog->m_hEvent);


ÇA NE MARCHE PAS: mon appli principal n'attend pas au niveau du wait for.... il passe devant comme si de rien n'était...

Une idée ???

Merci.


lundi 15 octobre 2007 à 13:52:28 | Re : attendre un thread

NeuroCypher

Je comprend pas l'interet d'avoir un thread si tu veux que le main process attende la fin d'execution du thread.


NeuroCypher

lundi 15 octobre 2007 à 14:00:18 | Re : attendre un thread

Audias06

Oui merci, c'est sûr vu comme ça... mais bon, nous n'avons pas le choix au vu de se que nous devons faire ...

lundi 15 octobre 2007 à 18:40:43 | Re : attendre un thread

juju12

J'utilise pas trop les mutex mais il me semble qu'avec WaitForSingleObject tu demandes l'accès au mutex (ownership); dans ton cas puisque le mutex n'a pas été utilisé il retourne tout de suite avec l'accès validé.
Pour attendre simplement un thread :
HANDLE hThread=CreateThread(...);
WaitForSingleObject(hThread,...).

Coome tu utilises AfxBeginThread, il retourne CWinThread donc regarde si tu peux récupérer un handle dans cette structure.

mercredi 17 octobre 2007 à 16:34:48 | Re : attendre un thread

ndubien

Membre Club


Bonjour,

Comme le dit NeuroCypher, l'intérêt d'un thread est PLUS QUE LIMITé.
Pourquoi ne pas intégrer ton code directement dans ton main?


Nico




Cette discussion est classé dans : application, thread, principale, hevent, attend


Répondre à ce message

Sujets en rapport avec ce message

interception de l'evenement OnPaint - wxWindows [ par luzinfre ] Bonjour,je programme avec wxWindows sous Visual C++ 6.J'ai cree une application qui affiche des images, zoome sur les images, les sauvegarde, etc. qui thread et mfc [ par dambeaufort ] svp reponse urgente!!!!!!!!bonjour, je voudrais programmer des thread dans une application mfc mais je n'y arrive pas. pourriez vous me donner un exem Empecher un thread de se terminer [ par LordBob ] Bonjour a tous,voila je suis en train de developper une application ou j'affiche l'image d'une webcam... seulement pour ne pas bloquer l'application, MultiThread: Probleme [ par CriPpLe ] Bonjour, depuis longtemps j'essai de creer un nouveau thread dans mon programme pour qu'il excecute des actions sans pour autant freezer le programme monitoring d'une application multi-thread [ par bigzooloo ] Bonjour, J'ai créé une application multi-threads qui utilise des librairies, égalements, multi-threads. J'aurai voulu savoir s'il était possible de s utilisation de Carchive dans un thread : ca veux pas marcher !! [ par Tibobon ] Salut tout le monde, J'essaye de faire une application client/serveur utilisant les CSocket et les CArchive. Ca marche parfaitement mais je souhaitera Thread [ par llb91 ] Bonjour,Je recherche une solution à mon probléme que je vais essayer de décrire ci dessous. j'ai fait un programme "A" qui doit à un moment donné lanc dialogue avec dll [ par Chayy ] Bonjour,je cherche à donner des informations à ma dll à partir de mon application principale. Je dois lui fournir deux tableaux, qui seront utilisés d Probleme fermeture de Thread!!! [ par Dryko ] Bonjour, Je suis en train de programmer une application MFC dans lequel je créer un thread (avec CreateThread) dans le constructeur de ma classe. Dans table de hachage et liste chainée [ par cyrina84 ] bonjour à tous, je voudrais bien  savoir  comment créer une application d'apprentissage automatique.on m'a demandé de réaliser une application qui per


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.