Bonjour à tous !!
De retour de vacances je retrouve mes problèmes de codageà croire que j'aime çà
![]()
Je vais essayer de m'expliquer :
J'ai un thread qui fonctionne avec des évènements (type AutoResetEvent et ManualResetEvent) et j'attend ces évènements avec unle souci que je rencontre c'est que quand un évènement n'arrive pas assez vite, je voudrais effectuer un traitement. Une sorte de TimeOut pour un WaitHandle. J'ai vu qu'il existait une CONSTANTE WaitHandle.TimeOut mais je ne sais pas comment définir la valeur de TimeOut et je ne sais pas comment l'intégrer dans mon code. Donc voila mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part WaitHandle.WaitAny()
En espérant avoir été clair dans mes explications et en attente de vos réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 while (_answerState == threadState.Run) { switch (WaitHandle.WaitAny(new WaitHandle[] { _stopEvent, _answerReceived })) { case 0: Console.WriteLine("answer c'est arreté"); _answerState = threadState.Stop; break; case 1: // On récupère l'instruction à traiter dans la pile answer = (string)_answerFIFO.Dequeue(); answerType = answer.ToCharArray()[1]; break; } }
Merci d'avance![]()
Partager