Definición
Un fallo de concurrencia en el que dos o más tareas esperan indefinidamente por recursos que se poseen entre sí (o por condiciones que solo pueden satisfacer las otras), impidiendo que cualquiera avance.

Principio

Principio
El deadlock ocurre cuando el sistema satisface simultáneamente las condiciones clásicas de asignación de recursos: exclusión mutua, mantener‑y‑esperar, no preempción y espera circular; estas condiciones organizan la posibilidad de una dependencia cíclica permanente.

Demostración

Demostración
Dos hilos A y B: A posee el candado L1 y solicita L2; B posee L2 y solicita L1. Ninguno puede continuar porque cada uno espera el recurso del otro, produciendo un bloqueo indefinido.

Aplicación incorrecta

Aplicación incorrecta
Llamar deadlock a cualquier pausa larga o respuesta lenta (por ejemplo, confundir alta latencia de E/S, demoras de planificación o livelock con un verdadero interbloqueo cíclico de recursos).

Consecuencia

Consecuencia
Reconocer correctamente el deadlock conduce a remedios dirigidos: impedir una de las condiciones de Coffman (p. ej., imponer un orden global de recursos), detectar ciclos y recuperar (preempción o rollback), o diseñar algoritmos de evitación; un diagnóstico equivocado conduce a soluciones ineficaces.

Inversión

Inversión
El inverso es un sistema con garantía de avanzar (liveness): sin esperas circulares, recursos preemtable o asignación en orden que impide ciclos.

Límite

Límite
Se aplica a problemas concurrentes de asignación de recursos (hilos, procesos, bloqueos distribuidos, transacciones BD). Excluye errores lógicos mono‑hilo, degradación de rendimiento sin dependencia cíclica y esperas transitorias que se resuelven. Los deadlocks distribuidos y convoyes de bloqueo están incluidos; las fallas de memoria únicamente quedan fuera.

Tensión semántica

Tensión semántica
Existe tensión con livelock y starvation: deadlock es un estado estable atascado (sin cambios de estado), mientras que livelock es activo sin progreso y starvation denota denegación injusta de recursos sin un ciclo mutuo.

Síntesis

Síntesis
El deadlock es la manifestación estable de una dependencia cíclica de recursos bajo las cuatro condiciones de Coffman; tratarlo así guía a prevenir (romper una condición), detectar (buscar ciclos) o recuperar (preempción/rollback).