Detector de Carreras de Go: Un Punto Ciego de Mutex

2025-07-31
Detector de Carreras de Go: Un Punto Ciego de Mutex

El detector de carreras de Go tiene un punto ciego al tratar con mutexes. Un ejemplo demuestra cómo dos goroutines usan un mutex para proteger un contador compartido, con una realizando un incremento adicional fuera del bloqueo. Aunque es posible una carrera de datos, el detector de Go podría perderla porque depende del orden de adquisición del bloqueo, que es impredecible en tiempo de ejecución. Si bien el detector de carreras de Go es una herramienta de primera clase, este ejemplo destaca que las condiciones de carrera aún pueden existir incluso cuando el detector no reporta ninguna carrera.

Leer más