Mega Code Archive

 
Categories / C# Tutorial / Thread
 

Interlocked

using System; using System.Threading; class MainClass {     public static void Main()     {         int firstInt = 1;         int secondInt = 2;         Console.WriteLine("firstInt initial value = {0}", firstInt);         Console.WriteLine("secondInt initial value = {0}", secondInt);         Interlocked.Decrement(ref firstInt);         Console.WriteLine(Environment.NewLine);          Console.WriteLine("firstInt after decrement = {0}", firstInt);         Interlocked.Increment(ref secondInt);         Console.WriteLine("secondInt after increment = {0}", secondInt);         Interlocked.Add(ref firstInt, secondInt);         Console.WriteLine(Environment.NewLine);          Console.WriteLine("firstInt after Add = {0}", firstInt);         Console.WriteLine("secondInt after Add = {0}", secondInt);         Interlocked.Exchange(ref secondInt, firstInt);         Console.WriteLine(Environment.NewLine);          Console.WriteLine("firstInt after Exchange = {0}", firstInt);         Console.WriteLine("secondInt after Exchange = {0}", secondInt);         Interlocked.CompareExchange(ref firstInt, 5000, secondInt);         Console.WriteLine(Environment.NewLine);          Console.WriteLine("firstInt after CompareExchange = {0}", firstInt);         Console.WriteLine("secondInt after CompareExchange = {0}", secondInt);     } } firstInt initial value = 1 secondInt initial value = 2 firstInt after decrement = 0 secondInt after increment = 3 firstInt after Add = 3 secondInt after Add = 3 firstInt after Exchange = 3 secondInt after Exchange = 3 firstInt after CompareExchange = 5000 secondInt after CompareExchange = 3