Múltiples hebras de ejecución en C#
Post date: Aug 27, 2010 4:47:29 AM
C# soporta la ejecución paralela de código a través del manejo de múltiples hebras de ejecución o threads. Una hebra soporta la ejecución paralela a través de la creación de múltiples hebras. Una hebra es una secuencia independiente de ejecución que puede correr simultáneamente con otras hebras.
Un programa en C# se inicia corriendo una hebra de ejecución creada automáticamente por el CLR y el sistema de operación (la clase principal). Una aplicación es multihebras al crear hebras adicionales. Vamos ahora a construir un ejemplo y su salida.
using System using System.Threading; class PruebaMultiHebras { static void Main() { Thread t = new Thread (WriteY); // Lanzar una nueva hebra t.Start(); // para ejecutar WriteY // Simultaneamente, realizar otras acciones // en la misma hebra. for (int i = 0; i < 1000; i++) Console.Write ("x"); } static void WriteY() { for (int i = 0; i < 1000; i++) Console.Write ("y"); } }
Una salida posible podría contener los símbolos "y" y "x" en cualquier orden.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxy yyyxxxxyyyyyyyyy...
La hebra principal crea una nueva hebra t en la que corre un método que imprime repetidamente el caracter “y”. Simultáneamente, el thread principal imprime repetidamente el caracter “x”.
Enlaces relacionados
Threading in C#, Joseph Albahari
Cursos relacionados
Curso Visual C# 2010 básico