22.07.2013 Views

PDF de la clase 34

PDF de la clase 34

PDF de la clase 34

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!