Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Classes C#

2 réponses
Avatar
Cyrille \cns\ Szymanski
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 ?

--
_|_|_| CnS
_|_| for(n=0;b;n++)
_| b&=b-1; /*pp.47 K&R*/

2 réponses

Avatar
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
Avatar
Ambassadeur Kosh
> je développe une application C# ... rendant la main.



msnews.microsoft.com

microsoft.public.fr.dotnet.csharp