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(); }
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(); }