je développe une application C# composée de différents modules
implémentés sous forme de classes. Chaque module s'exécute en lançant un
thread puis en rendant la main.
Grosso modo cela se passe comme suit :
// chargement des modules
Module1 m1 = new Module1();
Module2 m2 = new Module2();
Module3 m3 = new Module3();
// exécution
m1.run();
m2.run();
m3.run();
Ce qu'il me faudrait c'est un moyen pour le programme principal d'envoyer
un message "vous devez quitter" (ou autre, ex: pause) aux threads, et un
moyen pour eux de notifier le programme principal de leur état (ex: je
viens de quitter). De cette façon le programme principal ne quitte que
lorsque tous les modules sont quittés correctement.
Si un module met trop de temps à quitter, je peux aussi décider de le
tuer.
Quels sont les objets C# qui vont bien pour faire ça ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
adebaene
"Cyrille "cns" Szymanski" wrote in message news:...
Bonjour,
Bonjour.
je développe une application C# composée de différents modules implémentés sous forme de classes. Chaque module s'exécute en lançant un thread puis en rendant la main.
Grosso modo cela se passe comme suit : // chargement des modules Module1 m1 = new Module1(); Module2 m2 = new Module2(); Module3 m3 = new Module3();
// exécution m1.run(); m2.run(); m3.run();
Ce qu'il me faudrait c'est un moyen pour le programme principal d'envoyer un message "vous devez quitter" (ou autre, ex: pause) aux threads, et un moyen pour eux de notifier le programme principal de leur état (ex: je viens de quitter). De cette façon le programme principal ne quitte que lorsque tous les modules sont quittés correctement.
Si un module met trop de temps à quitter, je peux aussi décider de le tuer.
Quels sont les objets C# qui vont bien pour faire ça ?
AutoResetEvent par exemple, et tes threads testent régulièrement l'état de l'Event, ou peuvent même attendre dessus pendant qu'ils font des opérations bloquantes (E/S par exemple).
Arnaud
"Cyrille "cns" Szymanski" <cns2@cns.invalid> wrote in message news:<Xns944B5871F116cns2cnsinvalid@213.228.0.33>...
Bonjour,
Bonjour.
je développe une application C# composée de différents modules
implémentés sous forme de classes. Chaque module s'exécute en lançant un
thread puis en rendant la main.
Grosso modo cela se passe comme suit :
// chargement des modules
Module1 m1 = new Module1();
Module2 m2 = new Module2();
Module3 m3 = new Module3();
// exécution
m1.run();
m2.run();
m3.run();
Ce qu'il me faudrait c'est un moyen pour le programme principal d'envoyer
un message "vous devez quitter" (ou autre, ex: pause) aux threads, et un
moyen pour eux de notifier le programme principal de leur état (ex: je
viens de quitter). De cette façon le programme principal ne quitte que
lorsque tous les modules sont quittés correctement.
Si un module met trop de temps à quitter, je peux aussi décider de le
tuer.
Quels sont les objets C# qui vont bien pour faire ça ?
AutoResetEvent par exemple, et tes threads testent régulièrement
l'état de l'Event, ou peuvent même attendre dessus pendant qu'ils font
des opérations bloquantes (E/S par exemple).
"Cyrille "cns" Szymanski" wrote in message news:...
Bonjour,
Bonjour.
je développe une application C# composée de différents modules implémentés sous forme de classes. Chaque module s'exécute en lançant un thread puis en rendant la main.
Grosso modo cela se passe comme suit : // chargement des modules Module1 m1 = new Module1(); Module2 m2 = new Module2(); Module3 m3 = new Module3();
// exécution m1.run(); m2.run(); m3.run();
Ce qu'il me faudrait c'est un moyen pour le programme principal d'envoyer un message "vous devez quitter" (ou autre, ex: pause) aux threads, et un moyen pour eux de notifier le programme principal de leur état (ex: je viens de quitter). De cette façon le programme principal ne quitte que lorsque tous les modules sont quittés correctement.
Si un module met trop de temps à quitter, je peux aussi décider de le tuer.
Quels sont les objets C# qui vont bien pour faire ça ?
AutoResetEvent par exemple, et tes threads testent régulièrement l'état de l'Event, ou peuvent même attendre dessus pendant qu'ils font des opérations bloquantes (E/S par exemple).
Arnaud
Ambassadeur Kosh
> je développe une application C# ... rendant la main.
msnews.microsoft.com
microsoft.public.fr.dotnet.csharp
> je développe une application C# ... rendant la main.