Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Threading;
- namespace Recetas.CSharp.Cap04.R0411
- {
- public sealed class UsoExchange
- {
- // Valor de dato compartido entre threads:
- private static int variable = 0;
- public static void Main()
- {
- // Creación de un thread:
- Thread t = new Thread(Asignar);
- // Inicio de la ejecución del thread:
- t.Start();
- // Espera su finalización:
- t.Join();
- // Muestra el valor final de `variable`:
- Console.WriteLine ("\nValor de `variable`: {0}\n", variable.ToString());
- }
- private static void Asignar()
- {
- // Asigna 10 a `variable`:
- Interlocked.Exchange(ref variable, 10);
- // Uso de `Interlocked.CompareExchange`:
- Int32 resultado = Interlocked.CompareExchange(ref variable, 20, 10);
- // Muestra en pantalla el valor asignado:
- Console.WriteLine ("\nEl valor de `resultado`: {0}", resultado.ToString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement