using System; using System.Threading; namespace Recetas.Multithreading.Cap01 { internal sealed class ImpresorNumeros { // Imprime los números del 0 al 9 introduciendo // un retraso de 2 segundos por cada iteración // del ciclo for: private static void ImprimirNumerosConRetraso() { Console.WriteLine ("Inicio ejecución `ImprimirNumerosConRetraso`..."); for (int i = 0; i < 10; ++i) { // Retraso (pausa) de dos (2) segundos: Thread.Sleep (TimeSpan.FromSeconds (2)); Console.WriteLine (i.ToString()); } } public static void Main() { Console.WriteLine ("\nInicio ejecución Main..."); // Creación Thread: Thread nuevoThread = new Thread (ImprimirNumerosConRetraso); // Inicio Thread: nuevoThread.Start(); // Pausa el thread Main durante 6 segundos: Thread.Sleep (TimeSpan.FromSeconds (6)); // Aborta el thread `nuevoThread`: nuevoThread.Abort(); Console.WriteLine ("\nUn thread ha sido abortado.\n"); // Crea un nuevo thread: Thread nuevoThread2 = new Thread(ImprimirNumerosConRetraso); nuevoThread2.Start(); Console.WriteLine ("\nA punto de finalizar el thread Main\n"); } } }