示例#1
0
        static void Main(string[] args)
        {
            Caja    caja1            = new Caja();
            Caja    caja2            = new Caja();
            Negocio negocio          = new Negocio(caja1, caja2);
            Thread  hiloAsignar      = new Thread(new ThreadStart(negocio.AsignarCaja));
            Thread  hiloAtenderCaja1 = new Thread(new ThreadStart(negocio.Caja1.AtenderClientes));

            hiloAtenderCaja1.Name = "Caja 1";
            Thread hiloAtenderCaja2 = new Thread(new ThreadStart(negocio.Caja2.AtenderClientes));

            hiloAtenderCaja2.Name = "Caja 2";

            negocio.Clientes.Add("a");
            negocio.Clientes.Add("b");
            negocio.Clientes.Add("c");
            negocio.Clientes.Add("d");
            negocio.Clientes.Add("e");

            hiloAsignar.Start();
            hiloAsignar.Join();
            hiloAtenderCaja1.Start();
            hiloAtenderCaja2.Start();

            Console.ReadKey();
        }
示例#2
0
        static void Main(string[] args)
        {
            Caja caja1 = new Caja();
            Caja caja2 = new Caja();

            Negocio negocio = new Negocio(caja1, caja2);

            ThreadStart start1  = new ThreadStart(negocio.AsignarCaja);
            Thread      thread1 = new Thread(start1);

            negocio.Clientes.Add("Ailen");
            negocio.Clientes.Add("Leonardo");
            negocio.Clientes.Add("Mirta");

            ThreadStart start2  = new ThreadStart(caja1.AtenderCLientes);
            Thread      thread2 = new Thread(start2);

            thread2.Name = "Caja 1";

            ThreadStart start3  = new ThreadStart(caja2.AtenderCLientes);
            Thread      thread3 = new Thread(start3);

            thread3.Name = "Caja 2";

            thread1.Start();

            thread1.Join();

            thread2.Start();
            thread3.Start();

            /*Console.ReadKey();
             *
             * if (thread1.IsAlive)
             * {
             *  thread1.Abort();
             * }
             *
             * if (thread2.IsAlive)
             * {
             *  thread2.Abort();
             * }
             *
             * if (thread3.IsAlive)
             * {
             *  thread3.Abort();
             * }*/

            Console.ReadKey();
        }
示例#3
0
 public Negocio(Caja caja1, Caja caja2)
 {
     this.caja1    = caja1;
     this.caja2    = caja2;
     this.clientes = new List <string>();
 }