using System;
using System.Threading;
namespace Recetas.CSharp.Cap04.R0408
{
public sealed class UsoAutoResetEvent
{
// Crea instancia de EventResetEvent pasando false
// al argumento. Esto evita que automáticamente se invoque
// el método `Set`:
static EventWaitHandle waitHandle = new AutoResetEvent (false);
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...");
}
}
}