begin process at 2010 02 09 20:42:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

attendre un thread


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

attendre un thread

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ée 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 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 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 Application Client/Serveur TCP/IP: pertes de trames [ par LaTatadu91 ] Bonjour, Je développe actuellement une application multithread en C++ sous Visual Studio 2005. Ce programme a pour but d'effectuer des calculs cycliq


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales