Example #1
0
        static void Main(string[] args)
        {
            //se instancia la clase HiloEjemplo con el valor de 10 como parámetro de entrada
            var ejemplo = new HiloEjemplo(10);
            //creación hilo del metodo ejemplo.contar
            var hiloUno = new Thread(ejemplo.Contar);

            //asignación nombre hilo creado
            hiloUno.Name = "hilo Primero";
            //iniciación hilo uno
            hiloUno.Start();
            //hilo principal espera que se ejecute el hilo uno antes de continuar con su proceso
            hiloUno.Join();
            Console.WriteLine("------");

            // Creación hilo dos con el método contar de manera similar al caso anterior
            var hiloDos = new Thread(Contar);

            hiloDos.Name = "hilo Dos";
            // Pasamos el parámetro de entrada al hilo dos
            hiloDos.Start(8);
            hiloDos.Join();
            Console.WriteLine("------");

            // Creación hilo tres con una función anonima contarNumeros de manera similar al caso anterior
            // pasamos como parámetro el valor de  12
            var hiloTres = new Thread(() => ContarNumeros(12));

            hiloTres.Name = "hilo Tres";
            hiloTres.Start();
            hiloTres.Join();
            Console.WriteLine("------");

            int i = 10;

            // Creación hilo cuatro de manera similar al caso anterior
            // pasamos como parámetro la variable i

            var hiloCuatro = new Thread(() => ImprimirNumeros(i));

            // modificamos el valor de variable i
            i = 20;
            var hiloCinco = new Thread(() => ImprimirNumeros(i));

            hiloCuatro.Start();
            hiloCinco.Start();
        }
Example #2
0
        static void Main(string[] args)
        {
            //Paso de parametros por medio del atributo del objeto
            var ejemplo = new HiloEjemplo(10);
            var hiloUno = new Thread(ejemplo.Contar);

            hiloUno.Name = "hilo Primero";
            hiloUno.Start();
            hiloUno.Join();
            Console.WriteLine("------");

            //Paso de parametros por medio del metodo .Start()
            var hiloDos = new Thread(Contar);

            hiloDos.Name = "hilo Dos";
            hiloDos.Start(8);
            hiloDos.Join();
            Console.WriteLine("------");


            //Paso de parametros por expresiones lambda
            var hiloTres = new Thread(() => ContarNumeros(12));

            hiloTres.Name = "hilo Tres";
            hiloTres.Start();
            hiloTres.Join();
            Console.WriteLine("------");

            int i          = 10;
            var hiloCuatro = new Thread(() => ImprimirNumeros(i));

            i = 20;
            var hiloCinco = new Thread(() => ImprimirNumeros(i));

            hiloCuatro.Start();
            hiloCinco.Start();

            Console.ReadLine();
        }