CSharp Cheat sheet

Tu guía rápida para programar en C#

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.

Ver también

Documentación oficial de Microsoft

Ver más en Microsoft Docs