Definición
Una condición de concurrencia en la que las tareas cambian continuamente de estado en respuesta a otras pero no logran progreso global; el sistema permanece activo pero no se completa trabajo útil.

Principio

Principio
El livelock se produce cuando los participantes reaccionan a la contención de manera que mantienen la vivacidad de los componentes (pueden cambiar de estado) pero no garantizan el progreso del sistema, frecuentemente por reintentos/respuestas simétricas o reglas de reacción excesiva.

Demostración

Demostración
Dos procesos detectan contención y ambos retroceden exactamente el mismo intervalo antes de reintentar simultáneamente, impidiendo repetidamente que cualquiera complete su operación a pesar de que hay cambios de estado continuos.

Aplicación incorrecta

Aplicación incorrecta
Llamar livelock a cualquier uso elevado de CPU o thrashing, o tratar livelock como deadlock y aplicar mecanismos de recuperación que suponen ausencia de cambios de estado.

Consecuencia

Consecuencia
Identificar correctamente un livelock conduce a mitigaciones como introducir retrocesos aleatorizados, romper la simetría, añadir equidad o forzar garantías de progreso, o limitar el comportamiento reactivo; una mala identificación puede empeorar la capacidad de respuesta.

Inversión

Inversión
El reverso es el progreso coordinado: aunque los actores cambien de estado, sus interacciones convergen hacia operaciones completadas en lugar de respuestas cíclicas sin progreso.

Límite

Límite
Se aplica cuando componentes del sistema siguen cambiando de estado sin completar objetivos. Excluye deadlock (sin cambio de estado) y simples fluctuaciones de rendimiento; puede ocurrir en enrutamiento de red, bucles de reintento o protocolos cooperativos.

Tensión semántica

Tensión semántica
Tensión con el thrashing y la espera activa: el thrashing denota desperdicio de recursos por cambios de contexto o paginación excesiva, mientras que el livelock enfatiza la no‑finalización funcional a pesar de la actividad; ambos pueden coexistir.

Síntesis

Síntesis
El livelock es una condición activa de no‑progreso generada por reglas reactivas o simetría que provocan cambios de estado repetidos sin finalizar; resolverlo exige romper la simetría, añadir aleatoriedad o imponer garantías de progreso.