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