Skip to content

Instantly share code, notes, and snippets.

@hkucuk
Last active February 7, 2022 19:51
Show Gist options
  • Save hkucuk/885fe35a999dde8c2380f358f67db386 to your computer and use it in GitHub Desktop.
Save hkucuk/885fe35a999dde8c2380f358f67db386 to your computer and use it in GitHub Desktop.
ManualResetEvent Sample
var ms = new ManualResetEvent(false);
var t1 = new Thread(new ParameterizedThreadStart(x =>
{
Console.WriteLine("1 numaralı thread 1. sinyali sinyal bekliyor");
ms.WaitOne();
Console.WriteLine("1 numaralı thread 1. sinyali aldı");
Console.WriteLine("1 numaralı thread 2. sinyali sinyal bekliyor");
ms.WaitOne();
Console.WriteLine("1 numaralı thread 2. sinyali aldı");
}));
t1.Start();
var t2 = new Thread(new ParameterizedThreadStart(x =>
{
Console.WriteLine("2 numaralı thread 1. sinyali sinyal bekliyor");
ms.WaitOne();
Console.WriteLine("2 numaralı thread 1. sinyali aldı");
Console.WriteLine("2 numaralı thread 2. sinyali sinyal bekliyor");
ms.WaitOne();
Console.WriteLine("2 numaralı thread 2. sinyali aldı");
}));
t2.Start();
Thread.Sleep(3000);
Console.WriteLine("Main thread 1. sinyali gönderdi");
ms.Set();
ms.Reset(); //Nesne unsignaled duruma getirilir
Thread.Sleep(3000);
Console.WriteLine("Main thread 2. sinyali gönderdi");
ms.Set();
Console.WriteLine("Main thread bitti");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment