Say you have a wait handle of type
EventWaitHandle and want to check if it is set or not. To do this call the
WaitOne(int) method with a timeout of zero. It will return true if the wait handle is set and false otherwise.
Example
using System;
using System.Threading;
namespace ConsoleApp {
public class Program {
/// <summary>
/// Running this program will output
/// Wait handle is not set
/// Wait handle is set
/// to the console.
/// </summary>
public static void Main(string[] args) {
var waitHandle = new EventWaitHandle(false, EventResetMode.ManualReset);
Console.WriteLine(waitHandle.WaitOne(0) ? "Wait handle is set" : "Wait handle is not set");
waitHandle.Set();
Console.WriteLine(waitHandle.WaitOne(0) ? "Wait handle is set" : "Wait handle is not set");
}
}
}