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++;
}
}