Hola.
Explicación : para regular el acceso concurrente a algunos recursos, cada accesor de la competencia adquiere un bloqueo (sírvase seguir si se necesitan más detalles).
Cada vez que un recurso unitario está sujeto a dicho bloqueo, cada competidor hace cola para adquirir el bloqueo que ya tiene otro.
El interbloqueo se produce cuando, digamos que el competidor A ha adquirido un bloqueo en el recurso X y ahora espera que se libere el recurso Y; mientras que el competidor B ha adquirido el bloqueo en el recurso Y y ahora espera que el recurso X sea liberado.
- Cómo confiar en cualquier lado opuesto en una discusión cuando no puedo estar seguro de la evidencia proporcionada por ambos lados
- ¿Cuál es el propósito de vivir con alguien que te ama? ¿Reproducción? (Lea la descripción, minutos después de un intento fallido de suicidio)
- ¿Por qué es tan importante que algunas personas no dejen pasar a otros conductores cuando están en el tráfico? ¿Por qué la gente no se da cuenta de que ser amable hace que la sociedad sea mejor?
- ¿Qué imágenes te gritan la realidad?
- ¿Cuáles son las cosas en la vida cotidiana que creemos saber, pero no sabemos?
Detección : modelando las esperas de bloqueo como un gráfico de dependencias, un interbloqueo corresponde a un ciclo que aparece en este gráfico.
Prevención : se requiere cierto grado de coordinación entre los procesos para acordar: i) un único recurso que debe esperarse antes de ingresar a una sección propensa a interbloquear (un solo recurso no genera interbloqueos); ii) una orden acordada de bloqueo de recursos.
Alternativa: se puede evitar el interbloqueo evitando el bloqueo por completo.
Por ejemplo, mantener varias versiones de un recurso evita la necesidad de bloquear (también hay problemas, pero no puntos muertos: esta historia también se contará).
Feliz bloqueo,
F.
PD: la pregunta es muy general, elegí no dar ningún ejemplo práctico. Por favor haga un seguimiento si se necesita algo más ilustrativo.