Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // OrtizOL - xCSw - http://ortizol.blogspot.com
- using System;
- using System.Threading;
- namespace Receta.Multithreading.R0207
- {
- public class UsoBarrier
- {
- public static Barrier barrier = new Barrier(2,
- b => Console.WriteLine("Fin de la fase: {0}",
- b.CurrentPhaseNumber + 1));
- public static void Main()
- {
- Console.WriteLine(Environment.NewLine);
- Thread t1 = new Thread(() => Tocar("El guitarrista", "tocar su guitarra.", 5));
- Thread t2 = new Thread(() => Tocar("El vocalista", "cantar su canción.", 5));
- // Inicio de la ejecución de los threads:
- t1.Start();
- t2.Start();
- }
- public static void Tocar(String nombre, String mensaje, int espera)
- {
- for (int i = 1; i < 3; ++i)
- {
- Console.WriteLine("----------------------------------------------");
- // Espera:
- Thread.Sleep(TimeSpan.FromSeconds(espera));
- Console.WriteLine("{0} empieza a {1}", nombre, mensaje);
- // Espera:
- Thread.Sleep(TimeSpan.FromSeconds(espera));
- Console.WriteLine("{0} finaliza de {1}", nombre, mensaje);
- barrier.SignalAndWait();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement