LuAITools.com
提交工具
🧲AI
Todos esperan, nadie se mueve

Deadlock

Cuando varios agentes esperan cada uno por un recurso o acción que otro tiene, nadie se mueve y todo el sistema se queda congelado.

¿Qué es el deadlock?

Dos personas se encajan en una puerta estrecha: una dice «pasa tú», la otra «no, tú primero» — y ninguna pasa. El deadlock es eso con agentes: varios esperan cada uno por un recurso o acción que otro tiene, formando un «tú espera, yo espero» que nunca se resuelve.

¿Cómo ocurre?

Recursos que nadie suelta
El agente A bloquea el archivo X y quiere el Y; el agente B bloquea el Y y quiere el X. A espera que B suelte Y, B espera que A suelte X: un nudo.
Esperar a que el otro mueva primero
Dos agentes esperan la respuesta del otro antes de seguir, así que ambos se quedan quietos.
Dependencia circular
Tres o más agentes forman un anillo, cada uno esperando al siguiente, sin salida.

¿Cómo detectarlo?

Las señales clásicas: la barra de progreso se detiene, los logs se llenan de «esperando», las peticiones caducan una y otra vez. La monitorización puede dibujar un grafo de «quién espera a quién» y buscar ciclos.

Cómo prevenirlo y romperlo

Bloquea en un orden fijo
Que todos los agentes pidan recursos en el mismo orden para que las esperas no se crucen.
Pon timeouts
Si no lo consigues, ríndete, reintenta o escala — nunca esperes para siempre.
Fuerza una interrupción
Cuando esté del todo atascado, mata a uno de los que esperan para romper el bucle.
Comparte menos
Que cada agente use sus recursos locales cuando pueda, para tener menos por qué pelear.

En resumen: el deadlock son agentes esperando cada uno a que el otro mueva primero — y nadie se mueve.

Comentarios