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 un 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 : 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;
     }
}
En espérant avoir été clair dans mes explications et en attente de vos réponses
Merci d'avance