Event et Thread sous Win32 - Programmation
Marsh Posté le 21-03-2001 à 13:23:03
Effectivement la methode que tu utilise n'est pas bonne car le thread qui attend reste planifiable et consome du temps cpu.
Tu peux utiliser la fonction:
DWORD WaitForSingleObject(
HANDLE hHandle, // handle of object to wait for
DWORD dwMilliseconds // time-out interval in milliseconds
);
Avec comme handle le handle du thread dont tu attends la fin de l'exécution.
Marsh Posté le 21-03-2001 à 17:09:01
Les communications inter-Process sous win32 ( enfin a peu pres )
:
. des mutex
. des semaphores
. des pipes
. des named pipes
. des sockets
. des evenements
Marsh Posté le 21-03-2001 à 17:19:58
-------------------
Existe-t-il un moyen sous Windows d'envoyer des evenements entre Thread ?
-------------------
je dirais même plus:
les mutex, par exemples, peuvent être créés avec un nom. Cela permet de pouvoir y acceder même depuis d'autres programmes.
C'est en général ce qui est fait lorsque l'on veut que lancer 2 fois l'application en même temps soit impossible:
.en début d'application, on crée un mutex avec un nom bien défini, et on se l'approprie.
. on ne le relache que l'orsque l'on quitte l'appli.
Dc si on tente de lancer une deuxième fois l'appli, celle-ci ne pourra pas ni créer le mutex ni se l'approprier puisqu'il existe déjà et qu'il est déjà pris.
Marsh Posté le 21-03-2001 à 12:49:09
Existe-t-il un moyen sous Windows d'envoyer des evenements entre Thread ?
En particulier pouvoir avoir une sorte de "WaitEvent" dans du code.
Pour l'instant j'ai une variable globale booléenne et un while dessus pour attendre que l'autre thread me dise qu'il a finit.
C'est pas BO !