Sobes.tech
Junior — Middle

¿Puedes enumerar los principales mecanismos de sincronización de hilos y procesos?

sobes.tech AI

Respuesta de la IA

Los principales mecanismos de sincronización de hilos y procesos en C# incluyen:

  • lock — proporciona acceso exclusivo a un recurso, bloqueando una sección del código para otros hilos.
  • Mutex — mecanismo de bloqueo entre procesos, que permite sincronizar el acceso entre diferentes procesos.
  • Semaphore y SemaphoreSlim — limitan la cantidad de hilos que pueden acceder simultáneamente a un recurso.
  • Monitor — mecanismo de bloqueo más flexible con capacidad de esperar y notificar a los hilos.
  • AutoResetEvent y ManualResetEvent — permiten a los hilos esperar una señal para continuar.
  • Interlocked — proporciona operaciones atómicas sobre variables para prevenir condiciones de carrera.

Ejemplo de uso de lock:

private readonly object _locker = new object();

void IncrementCounter()
{
    lock (_locker)
    {
        // sección crítica
        counter++;
    }
}