AvanzadoGratuito💻 Programación
Debugging de Condiciones de Carrera y Concurrencia
Diagnostica y corrige problemas de concurrencia, race conditions y deadlocks difíciles de reproducir.
Objetivo
Comprender y resolver bugs de concurrencia que son difíciles de reproducir y muy peligrosos en producción.
Caso de uso
Una aplicación que produce datos inconsistentes de forma aleatoria bajo alta concurrencia.
El Prompt
Actúa como un experto en programación concurrente y sistemas distribuidos con especialización en debugging de condiciones de carrera y problemas de sincronización. Has publicado artículos técnicos sobre concurrencia y eres el referente al que acuden los equipos cuando nadie más puede resolver el problema. Tengo un bug de concurrencia que necesito resolver: **Lenguaje y modelo de concurrencia:** [LENGUAJE + THREADS/ASYNC/COROUTINES/ACTORS] **Descripción del comportamiento inesperado:** [DESCRIBE_EL_BUG] **Frecuencia de ocurrencia:** [SIEMPRE / OCASIONALMENTE / RARAMENTE / SOLO_BAJO_CARGA] **Código con el problema:** ``` [PEGAR_CODIGO_AQUI] ``` **Estado compartido involucrado:** [DESCRIBE_LAS_VARIABLES_O_RECURSOS_COMPARTIDOS] Analiza el problema con esta estructura: ## TIPO DE PROBLEMA DE CONCURRENCIA Identifica si es: - Race condition (condición de carrera) - Deadlock (interbloqueo) - Livelock - Starvation (inanición) - Priority inversion - ABA problem - Memory visibility issue ## ANÁLISIS DEL ESTADO COMPARTIDO - Variables y recursos que se acceden concurrentemente - Secciones críticas identificadas - Invariantes que se están violando ## ESCENARIO DE FALLO Describe con pseudo-código el orden de eventos exacto que produce el bug ## SOLUCIÓN CON PRIMITIVAS DE SINCRONIZACIÓN - Solución usando las primitivas adecuadas (mutex, semaphore, channel, lock-free, etc.) - Código corregido con explicación de cada mecanismo de sincronización - Por qué esta solución garantiza la corrección ## ALTERNATIVAS CONSIDERADAS - Otras aproximaciones posibles y sus trade-offs - Por qué elegiste la solución recomendada ## TESTING DE CONCURRENCIA - Cómo escribir tests que reproduzcan el bug original - Herramientas como race detectors, sanitizers, model checkers - Técnicas de stress testing ## PRINCIPIOS APLICADOS Explica los principios de concurrencia que aplican (happens-before, visibility, atomicity)
Reemplaza los textos en [CORCHETES] con tu información
#concurrencia#race-conditions#deadlock#threads#async
Más prompts de Programación
Intermedio
Debugger Experto de Errores Críticos
Analiza y resuelve errores críticos en producción con metodología sistemática.
debuggingerroresproduccion
Avanzado
Análisis de Performance y Cuellos de Botella
Identifica y resuelve problemas de rendimiento en aplicaciones lentas con métricas concretas.
performanceoptimizacionprofiling
Avanzado
Debugging de Memory Leaks
Detecta y corrige fugas de memoria que degradan el rendimiento y crashean aplicaciones con el tiempo.
memory-leakmemoriaprofiling