Question

J'ai un WaitHandle et je voudrais savoir comment faire pour vérifier si le WaitHandle a déjà été définie ou pas.

Note: Je peux ajouter une variable boolean et chaque fois que la méthode Set() est utilisé définir la variable à true, mais ce comportement doit être construit en WaitHandle quelque part.

Merci pour l'aide!

Était-ce utile?

La solution

try waihandle.waitone (0)

Si millisecondstimeout est zéro, la méthode ne bloque pas.Il teste l'état de la poignée d'attente et retourne immédiatement.

Autres conseils

const int DoNotWait = 0;
                          
ManualResetEvent waitHandle = new ManualResetEvent(false);                   

Console.WriteLine("Is set:{0}", waitHandle.WaitOne(DoNotWait));
         
waitHandle.Set(); 

Console.WriteLine("Is set:{0}", waitHandle.WaitOne(DoNotWait));   

sortie:

est défini: FALSE

est défini: vrai

Utilisez l'une des Wait... méthodes sur WaitHandle qui prend une valeur de délai d'expiration, comme WaitOne, et passer un délai d'attente de 0.

Vous pouvez utiliser WAITONE (INT MILLISECONDSTIMOUTER BOOL EXITEXTEXT) PROCÉDÉ ET PASSIER 0 POUR LE TRANDPAN.Cela reviendra tout de suite.

bool isSet = yourWaitHandle.WaitOne(0, true);

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top