Saltar al contenido
uencoder

Deadlock

Un interbloqueo es un estado en el que varios hilos esperan los bloqueos que se tienen mutuamente, lo que provoca un bloqueo permanente.

Propósito

Comprender las condiciones que producen interbloqueos y sus defensas; una preocupación central de la fiabilidad de programas concurrentes.

Mecanismo

Las cuatro condiciones de Coffman: exclusión mutua, retener y esperar, no apropiación y espera circular. Cuando se cumplen todas a la vez, se produce el interbloqueo. Defensas: ordenación de bloqueos (un orden global), tiempos de espera agotados, try-lock, evitar bloqueos anidados.

Casos de uso

  • Fiabilidad de la concurrencia
  • Diseño de bloqueos
  • Detección de interbloqueos

Herramientas relacionadas

References