Advertisement
Fhernd

UsoIncrementDecrement.cs

Aug 7th, 2014
1,605
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.12 KB | None | 0 0
  1. using System;
  2. using System.Threading;
  3.  
  4. namespace Recetas.CSharp.Cap04.R0411
  5. {
  6.     public sealed class UsoIncrementDecrement
  7.     {
  8.         // Valor de dato compartido entre threads:
  9.         private static int variable = 0;
  10.        
  11.         public static void Main()
  12.         {
  13.             // Creación de dos threads:
  14.             Thread t1 = new Thread(IncrementarDecrementar);
  15.             Thread t2 = new Thread(IncrementarDecrementar);
  16.            
  17.             // Inicio de la ejecución de los dos threads:
  18.             t1.Start();
  19.             t2.Start();
  20.            
  21.             // Espera su finalización:
  22.             t1.Join();
  23.             t2.Join();
  24.            
  25.             // Muestra el valor final de `variable`:
  26.             Console.WriteLine ("\nValor de `variable`: {0}\n", variable.ToString());
  27.         }
  28.        
  29.         private static void IncrementarDecrementar()
  30.         {
  31.             // Incrementa y decrementa el valor de `variable`:
  32.             Interlocked.Increment(ref variable);
  33.             Interlocked.Decrement(ref variable);
  34.             Interlocked.Decrement(ref variable);
  35.         }
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement