PDF de la clase 34
PDF de la clase 34
PDF de la clase 34
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Diagrama <strong>de</strong> interbloqueo<br />
bloqueo Valor a bloqueo Valor b<br />
swapValue() swapValue()<br />
Extraído <strong>de</strong> Doug Lea, Concurrent Programming in Java<br />
(2000). Excelente referencia para usuarios avanzados<br />
Síntomas <strong>de</strong>l interbloqueo<br />
• Los síntomas <strong>de</strong>l interbloqueo son simplemente el bloqueo <strong>de</strong>l<br />
programa (<strong>de</strong>ja <strong>de</strong> ejecutarse) o <strong>la</strong> interrupción infinita <strong>de</strong> un<br />
programa regido por un hilo específico.<br />
• Los problemas <strong>de</strong> sincronización y <strong>de</strong> interbloqueo son<br />
realmente complicados <strong>de</strong> <strong>de</strong>purar, ya que un programa con<br />
este tipo <strong>de</strong> errores pue<strong>de</strong> ejecutarse a <strong>la</strong> perfección<br />
muchas veces hasta que, un día, fal<strong>la</strong>.<br />
• Esto ocurre porque el or<strong>de</strong>n y <strong>la</strong> secuencia <strong>de</strong> ejecución <strong>de</strong> los<br />
distintos hilos no es completamente pre<strong>de</strong>cible.<br />
• Los programas <strong>de</strong>ben funcionar correctamente sin tener en<br />
cuenta el or<strong>de</strong>n o <strong>la</strong> secuencia en que se ejecutan los distintos<br />
hilos.<br />
• En el momento en que se sincroniza para prevenir posibles<br />
interferencias perjudiciales entre hilos, el riesgo <strong>de</strong>l interbloqueo<br />
aparece.<br />
32<br />
31<br />
16