Csharp/C Sharp by API/System.Threading/Interlocked

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Interlocked.Add

<source lang="csharp"> using System; using System.Threading; class MainClass {

   public static void Main()
   {
       int firstInt = 25;
       int secondInt = 80;
       Console.WriteLine("firstInt initial value = {0}", firstInt);
       Console.WriteLine("secondInt initial value = {0}", secondInt);
       Interlocked.Add(ref firstInt, secondInt);
       Console.WriteLine("firstInt after Add = {0}", firstInt);
       Console.WriteLine("secondInt after Add = {0}", secondInt);
   }

}


 </source>


Interlocked.CompareExchange

<source lang="csharp"> using System; using System.Threading; class MainClass {

   public static void Main()
   {
       int firstInt = 25;
       int secondInt = 80;
       Console.WriteLine("firstInt initial value = {0}", firstInt);
       Console.WriteLine("secondInt initial value = {0}", secondInt);
       Interlocked.rupareExchange(ref firstInt, 50, secondInt);
       Console.WriteLine("firstInt after CompareExchange = {0}", firstInt);
       Console.WriteLine("secondInt after CompareExchange = {0}", secondInt);
   }

}


 </source>


Interlocked.Decrement

<source lang="csharp"> using System; using System.Threading; class MainClass {

   public static void Main()
   {
       int firstInt = 25;
       int secondInt = 80;
       Console.WriteLine("firstInt initial value = {0}", firstInt);
       Console.WriteLine("secondInt initial value = {0}", secondInt);
       Interlocked.Decrement(ref firstInt);
       Console.WriteLine("firstInt after decrement = {0}", firstInt);
   }

}


 </source>


Interlocked.Exchange

<source lang="csharp"> using System; using System.Threading; class MainClass {

   public static void Main()
   {
       int firstInt = 25;
       int secondInt = 80;
       Console.WriteLine("firstInt initial value = {0}", firstInt);
       Console.WriteLine("secondInt initial value = {0}", secondInt);
       Interlocked.Exchange(ref secondInt, firstInt);
       Console.WriteLine("firstInt after Exchange = {0}", firstInt);
       Console.WriteLine("secondInt after Exchange = {0}", secondInt);
   }

}


 </source>


Interlocked.Increment

<source lang="csharp"> using System; using System.Threading; class MainClass {

   public static void Main()
   {
       int firstInt = 25;
       int secondInt = 80;
       Console.WriteLine("firstInt initial value = {0}", firstInt);
       Console.WriteLine("secondInt initial value = {0}", secondInt);
       Interlocked.Increment(ref secondInt);
       Console.WriteLine("secondInt after increment = {0}", secondInt);
   }

}


 </source>