Thread en C#
La clase Thread
en C# permite crear y gestionar hilos (threads) de forma manual para ejecutar
tareas en paralelo.
Esto mejora el rendimiento de aplicaciones al permitir la ejecución concurrente, pero requiere cuidado con
la sincronización y la gestión de recursos compartidos.
Crear un Thread
Puedes crear un hilo pasando un método o una lambda al constructor de Thread
.
void ImprimirMensaje() { Console.WriteLine("Hola desde otro hilo!"); } Thread hilo = new Thread(ImprimirMensaje); hilo.Start();
El método Start()
inicia la ejecución en paralelo.
Usar lambdas con Thread
También puedes pasar expresiones lambda para mayor flexibilidad.
Thread hiloLambda = new Thread(() => { Console.WriteLine("Ejecución en hilo lambda."); }); hiloLambda.Start();
Esto es útil para definir la lógica inline.
Sincronización
Al usar varios hilos, debes evitar condiciones de carrera al acceder a recursos compartidos.
object bloqueo = new object(); int contador = 0; Thread hiloSync = new Thread(() => { lock (bloqueo) { contador++; Console.WriteLine($"Contador: {contador}"); } }); hiloSync.Start();
La palabra clave lock
garantiza acceso exclusivo al recurso.
Buenas Prácticas
Usa Thread
para tareas de bajo nivel solo cuando necesites control total.
Prefiere Task
o ThreadPool
para abstracciones más sencillas y eficientes.
Sincroniza correctamente el acceso a datos compartidos.
Evita crear demasiados hilos para no saturar el sistema.