Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Threading;
- namespace Recetas.Cap04
- {
- // Esta clase contiene información de una tarea
- // ejecutado por el thread ThreadPool.
- public class InfoTarea
- {
- public string Mensaje;
- public int Valor;
- public InfoTarea (string texto, int numero)
- {
- Mensaje = texto;
- Valor = numero;
- }
- }
- public sealed class UsoQueueUserWorkItemV2
- {
- public static void Main()
- {
- // Crea una instancia de InfoTarea con la
- // información requerida por una tarea:
- InfoTarea it = new InfoTarea ("Muestra el valor del campo `Valor` es {0}.", 13);
- // La tarea se agrega a la cola de ejcución de threads:
- ThreadPool.QueueUserWorkItem (new WaitCallback(ProcesoThread), it);
- Console.WriteLine ("\nEl método Main lleva a cabo algunas operaciones.");
- // El thread principal se detiene 1 segundo, mientras se ejecutan el pool de
- // threads. Esto es necesario debido a que el thread principal no espera
- // a que los demás threads finalicen:
- Thread.Sleep (1000);
- Console.WriteLine ("El método Main ha finalizado.\n");
- }
- // Este método es el encargado de llevar a cabo
- // la tarea de ejecución de threads:
- public static void ProcesoThread (object infoEstado)
- {
- InfoTarea ti = (InfoTarea) infoEstado;
- Console.WriteLine (ti.Mensaje, ti.Valor);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement