Sobes.tech
Junior — Middle

¿Qué mecanismos de sincronización de hilos conoces y puedes usar en tus proyectos?

sobes.tech AI

Respuesta de la IA

En C# se utilizan varios mecanismos para la sincronización de hilos:

  • lock — una forma sencilla de bloquear una sección crítica del código.
  • Mutex — bloqueo interprocesos, útil cuando se necesita sincronizar el acceso entre diferentes procesos.
  • Semaphore y SemaphoreSlim — permiten limitar la cantidad de hilos que ejecutan una sección determinada del código simultáneamente.
  • Monitor — mecanismo más flexible, en el que se basa lock.
  • ManualResetEvent y AutoResetEvent — para señalización entre hilos.
  • Colecciones concurrentes del espacio de nombres System.Collections.Concurrent — proporcionan acceso seguro para hilos a las colecciones.

Ejemplo de uso de lock:

private readonly object _lockObj = new object();

public void IncrementCounter()
{
    lock(_lockObj)
    {
        // Sección crítica
        counter++;
    }
}