trabajo de sistemas

Páginas: 8 (1967 palabras) Publicado: 20 de julio de 2013
Cena de filosofos y sincronizacion java

Programación concurrente y Distribuída
Curso 2011-12

Miguel Telleria, Laura Barros, J.M. Drake
telleriam AT unican.es

Computadores y Tiempo Real
http://www.ctr.unican.es

Computadores y Tiempo Real
Universidad de Cantabria

Programación concurrente y distribuída

Cena de filosofos y sincronizacion java

Objetivos


Presentaros laaplicación de “filósofos chinos” con UML



Practicar lo visto en sincronismo de java



Prepararos para la practica 2 que es muy similar

14 Oct 2011

Miguel Telleria de Esteban telleriam AT unican.es)

Página 2 de 34

Computadores y Tiempo Real
Universidad de Cantabria

Programación concurrente y distribuída

Cena de filosofos y sincronizacion java

Contenido
●Presentación de los filósofos chinos



Especificación UML



Paralelización



Sincronización de espera



Sincronización bloqueante

14 Oct 2011

Miguel Telleria de Esteban telleriam AT unican.es)

Página 3 de 34

Presentación de los filósofos chinos

Computadores y Tiempo Real
Universidad de Cantabria

Programación concurrente y distribuída

Cena de filosofos ysincronizacion java

Los filósofos chinos


4 filósofos




4 palillos




1 entre cada 2 filósofos

Gestor de sillas:




Rojo, azul, amarillo, verde

Numero de sillas configurable

Ciclo de cada filosofo:



esperando silla



esperando palillo derecho



esperando palillo izquierdo



14 Oct 2011

Pensando

comiendo
Miguel Telleria deEsteban telleriam AT unican.es)

Página 5 de 34

Computadores y Tiempo Real
Universidad de Cantabria

Programación concurrente y distribuída

Cena de filosofos y sincronizacion java

Vamos a verla funcionar

14 Oct 2011

Miguel Telleria de Esteban telleriam AT unican.es)

Página 6 de 34

Especificación UML

Computadores y Tiempo Real
Universidad de Cantabria

Programaciónconcurrente y distribuída

Cena de filosofos y sincronizacion java

Diagrama de clases

14 Oct 2011

Miguel Telleria de Esteban telleriam AT unican.es)

Página 8 de 34

Computadores y Tiempo Real
Universidad de Cantabria

Programación concurrente y distribuída

Cena de filosofos y sincronizacion java

Misiones


Comedor






Datos globales

GUI



Objetosactivos

Gestor de sillas


14 Oct 2011

Modo polling: Devuelve falso
si el palillo está cogido
Modo espera: Bloquea hasta
que el palillo esté libre

Prueba secuencial


Filosofo






Determina si da una silla o no







Punto de acceso para el resto
de las clases



Palillo

Instancia el sistema



Crea los threads



Termina la ejecuciónMantiene la cantidad de sillas
libres

Miguel Telleria de Esteban telleriam AT unican.es)

Página 9 de 34

Computadores y Tiempo Real
Universidad de Cantabria

Programación concurrente y distribuída

Cena de filosofos y sincronizacion java

Filosofo


Objeto activo con su ciclo de vida



Decisión de diseño:


14 Oct 2011

Aunque tiene asociados
los palillos,invoca los
métodos coge() y deja()
a través del comedor

Miguel Telleria de Esteban telleriam AT unican.es)

Página 10 de 34

Computadores y Tiempo Real
Universidad de Cantabria

Programación concurrente y distribuída

Cena de filosofos y sincronizacion java

Comedor




Da acceso al resto de
elementos
Elección de diseño:




14 Oct 2011

La clase Palillo devuelve siel palillo está
libre
El Gestor de Sillas simplemente informa
es el comedor el que devuelve si sí o si
no.

Miguel Telleria de Esteban telleriam AT unican.es)

Página 11 de 34

Computadores y Tiempo Real
Universidad de Cantabria

Programación concurrente y distribuída

Cena de filosofos y sincronizacion java

Palillo


“Se deja” coger o no:




14 Oct 2011

Es...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • TRABAJO DE SISTEMAS
  • trabajo sistemas
  • trabajos de sistemas
  • Trabajo De Sistemas
  • Trabajo de sistemas
  • Trabajo de sistema
  • Trabajo De Sistemas
  • trabajo de sistemas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS