ThreadPool.RegisterWaitForSingleObject : ThreadPool « System.Threading « C# / C Sharp by API






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);
    }
}

   
    
  








Related examples in the same category

1.ThreadPool.QueueUserWorkItem
2.ThreadPool.SetMaxThreads