Deadlock
Un interblocage survient lorsque plusieurs threads attendent des verrous détenus les uns par les autres, entraînant un blocage permanent.
Objectif
Comprendre les conditions qui produisent les interblocages et leurs défenses ; un enjeu central de la fiabilité des programmes concurrents.
Mécanisme
Les quatre conditions de Coffman : exclusion mutuelle, détention et attente, non-préemption et attente circulaire. Lorsqu'elles sont toutes réunies simultanément, l'interblocage se produit. Défenses : ordonnancement des verrous (un ordre global), délais d'attente, try-lock, éviter les verrous imbriqués.
Cas d’usage
- Fiabilité de la concurrence
- Conception des verrous
- Détection des interblocages