Mega Code Archive
ThreadPool RegisterWaitForSingleObject
using System;
using System.Threading;
class MainClass
{
private static void EventHandler(object state, bool timedout)
{
Console.WriteLine("timedout:"+timedout);
Console.WriteLine("state:"+state);
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.ffff"));
}
public static void Main()
{
AutoResetEvent autoEvent = new AutoResetEvent(false);
string state = "AutoResetEvent signaled.";
RegisteredWaitHandle handle = ThreadPool.RegisterWaitForSingleObject(
autoEvent, EventHandler, state, 3000, false);
Thread.Sleep(5000);
autoEvent.Set();
Console.WriteLine("Unregistering wait operation.");
handle.Unregister(null);
}
}