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.