Concurrencia Java

Páginas: 49 (12242 palabras) Publicado: 26 de octubre de 2012
Ejercicios de Programaci´ n Concurrente o
Dpto. LSIIS. Unidad de Programaci´n o 2006-03-03

´ndice I
1. Avisador de correo 2. Control de las puertas de entrada a un aparcamiento 3. M´quina expendedora a 4. Sistema de climatizaci´ n o 5. Editor interactivo 6. Accesos a disco 7. Cache de disco o 8. Gesti´ n de memoria 9. Doble spooler de impresora 10.Buffer basculante 11.Buffer selectivo12.Lectores/escritores 13.Servicio de impresoras 14.Impresi´ n tolerante a fallos o 15.Cintas transportadoras 16.Sistema de supervisi´ n y registro o 17.Centralita 18.Dise˜ o de un controlador para un cruce de trenes n 19.Lonja Online 20.Sistema de retransmisi´ n de v´deo o ı 21.Bolsa en red 22.People mover 23.Pastas de t´ e 24.Zona de estacionamiento 3 4 5 6 7 8 10 11 12 12 13 14 15 15 16 17 18 20 2123 25 25 27 28

2

Ejercicios Programaci´n Concurrente 2006-03-03 o

3

1.

Avisador de correo

Un avisador de correo es una peque˜a aplicaci´n que (generalmente en un entorno de ventanas) n o avisa al usuario de si ha recibido correo electr´nico. La figura muestra el aspecto de la ventanita del o avisador, en los dos estados posibles: sin o con correo.

Figura 1: El avisador en susdos estados posibles

Lo que tiene que hacer el programa es, m´s o menos, lo siguiente: a Al empezar, si el fichero de correo no est´ vac´ se muestra el icono de correo; en caso contrario a ıo el de sin correo. Cada 30 segundos (aproximadamente: el tiempo no es cr´ ıtico aqu´ se mira si ha variado el ı) tama˜o del fichero de correo: si ha crecido desde la ultima vez ha de pintarse el icono decorreo; n ´ u si ha decrecido se asume que el usuario est´ leyendo ya los mensajes con alg´n programa y se a pintar´ el icono de sin correo. a El usuario puede quitar el aviso de correo en cualquier momento haciendo clic con el rat´n en o el icono. Se asumen como ya programados los siguientes procedimientos: procedure Fichero_Correo() return TipoFichero; -- Devuelve el fichero donde se almacena elcorreo del usuario -- que lo ejecuta. procedure Tam(f: in TipoFichero) return Natural; -- Devuelve el tama~o del fichero que se le pasa como argumento. n procedure Esperar(seg : in Natural); -- No retorna hasta que han pasado seg! segundos. procedure Leer_Clic(); -- No retorna hasta que el usuario hace clic con el rat´n en la o -- ventana de la aplicaci´n. o procedure Pintar_Icono_Correo(); -- Pintael icono de que ha llegado correo en la ventana -- de la aplicaci´n. o procedure Pintar_Icono_Sin_Correo(); -- Pinta el icono de que no hay correo en la -- ventana de la aplicaci´n. o Las operaciones de pintado no se pueden ejecutar de manera concurrente.

4

2.

Control de las puertas de entrada a un aparcamiento

El esquema de la figura 2 corresponde a un aparcamiento gratuito concapacidad para N coches, cuyo acceso se realiza a trav´s de E barreras autom´ticas de entrada y S de salida. Dichas barreras e a est´n numeradas, desde la barrera 0 hasta la E − 1 son de entrada y desde la barrera E hasta la a E + S − 1 son de salida.

Figura 2: Aparcamiento con dos entradas y dos salidas

Para poder controlar el acceso al area com´n de carga y descarga un equipo ha programado elpaquete ´ u Barreras en el que est´n definidas las constantes E y S, as´ como el tipo a ı type Tipo_Num_Puerta is Natural range 0..E+S-1 y los procedimientos Esperar_Llegada(i: in Tipo_Num_Puerta) Elevar_Barrera(i: in Tipo_Num_Puerta) con la siguiente sem´ntica: a Cuando el procedimiento Esperar Llegada(i) es ejecutado por un proceso, este queda bloqueado hasta que se detecta la llegada de un coche ala puerta i. Al ejecutar Elevar Barrera(i) la barrera se eleva, permanece elevada mientras est´ pasando a el coche y luego desciende autom´ticamente, momento en el que termina la llamada. a Se necesita desarrollar un programa que gestione el acceso al aparcamiento cumpliendo los siguientes requisitos: Todas las barreras deben poder funcionar simultaneamente.

Ejercicios Programaci´n...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • concurrencia en java
  • Programación Concurrente En Java
  • ejercicios basicos concurrencia java
  • concurrencia
  • Concurrencia
  • Concurrente
  • concurrencia
  • Concurrencia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS