[C#] Comment définir et intégrer un TimeOut sur un WaitHandle ?
Bonjour à tous !!
De retour de vacances je retrouve mes problèmes de codage :lol: à 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 un
Code:
WaitHandle.WaitAny()
le 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:
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;
}
} |
En espérant avoir été clair dans mes explications et en attente de vos réponses
Merci d'avance ;)