Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Threading;
- namespace Recetas.CSharp.Cap04.R0412
- {
- public sealed class FinalizacionEjecucionThread
- {
- public static void Main()
- {
- Console.Title = "--- Identificación Finalización Ejecución de un Thread ---";
- Console.WriteLine ();
- // Creación Thread:
- Thread t = new Thread (MostrarMensaje);
- // Iniciar ejecución:
- t.Start();
- // Bloqueo hasta finalización del método MostrarMensaje, o
- // hasta que transcurra un tiempo de espera (2 segundos):
- if (!t.Join (2000))
- {
- Console.WriteLine ("\nAgotado tiempo de espera de Join: {0}",
- DateTime.Now.ToString ("HH:mm:ss.ffff")
- );
- }
- // Muestra en pantalla el estado del thread:
- Console.WriteLine ("\n¿Thread en ejecución?: {0}", t.IsAlive.ToString());
- // Nuevo bloqueo hasta finalizar `MostrarMensaje`:
- t.Join();
- // Imprime el estado actual del thread:
- Console.WriteLine ("\n¿Thread en ejecución?: {0}", t.IsAlive.ToString());
- Console.WriteLine ("\nPresione Enter para finalizar.\n");
- Console.ReadLine ();
- }
- // Muestra mensajes de estado de ejecución en pantalla:
- private static void MostrarMensaje()
- {
- for (int i = 1; i < 5; ++i)
- {
- Console.WriteLine ("Registro de `MostrarMensaje`: {0}",
- DateTime.Now.ToString("HH:mm:ss.ffff")
- );
- // Pausa por 1 segundo:
- Thread.Sleep (1000);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement