Last active
February 7, 2022 19:51
-
-
Save hkucuk/885fe35a999dde8c2380f358f67db386 to your computer and use it in GitHub Desktop.
ManualResetEvent Sample
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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