using System; using System.Threading; namespace Recetas.CSharp.Cap04.R0408 { public sealed class UsoEventWaitHandle { // Crea instancia de EventResetEvent pasando false // al argumento. Esto evita que automáticamente se invoque // el método `Set`: static EventWaitHandle waitHandle = new EventWaitHandle (false, EventResetMode.AutoReset); public static void Main() { new Thread (ProcesoEspera).Start (); Thread.Sleep (1500); // Activa la señal o notificación: waitHandle.Set(); } static void ProcesoEspera() { Console.WriteLine ("\nMétodo `ProcesoEspera` en espera..."); waitHandle.WaitOne(); // A espera de notificación Console.WriteLine ("Método `ProcesoEspera` notificado..."); } } }