Csharp/C Sharp by API/System.Threading/Interlocked
Содержание
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>