Sie sind auf Seite 1von 2

75-62 Tcnicas de Programacin

Concurrente II
2007
Trabajos para el Final
FIUBA

Ing. Osvaldo Cla

Trabajo Final:
Presentar programado, con una interface grfica con los controles necesarios para ir paso a
paso (el paso depende de la naturaleza del problema, pero debe permitir ver la concurrencia) usando
MVC dos de los siguientes problemas (se asignan en clase). Debe presentar dos versiones de cada
problema; usando elementos de concurrencia de semntica distinta.
1. Competencia. Juegan azules contra rojos en un juego de a 2. Al llegar los jugadores esperan a
un adversario, armada la pareja se espera por una cancha, se juega y a otra cosa. Lo importante es
lleva la cuenta de los puntos de la competencia.
2. Museo. Un museo tiene tres puertas. Los visitantes pueden ingresar por cualquiera de ellas y
salir por cualquiera. El museo tiene capacidad limitada. De haber cola, se habilitan las entradas
para una persona en round robin.
3. Ferry. Se trata de un servicio sin horario. Cada proceso llega al ferry y aaden k unidades de
carga. Cuando la carga supera las n unidades el ferry parte y todo proceso que llegue a
continuacin espera la vuelta.
4. Ascensores. Se trata de programar el comportamiento de un ascensor inteligente, con llamadas
desde los pisos y requerimientos internos. El ascensor tiene una capacidad limitada...
5. El puente: Un puente de una sola mano tiene extremos norte y sur por donde arriban vehculos
en ambas direcciones. Los vehculos que van en la misma direccin puede cruzar el puente juntos,
pero no simultneamente con otro que viene en la direccin opuesta. Modele los vehculos como
procesos y programe este comportamiento, sin dar prioridad a ninguna direccin (aunque pueda
darse que un tipo de autos no cruce nunca por trfico continuo).
6. Agua tomos de Hidrgeno y Oxgeno vagan por el espacio (es decir, duermen un tiempo al
azar) buscndose mutuamente para formar Agua.
7. Montaa Rusa En una montaa rusa hay n pasajeros y un carrito de capacidad C (C<n).
Cuando el carro se llena, parte.
7.1.Los pasajeros deben invocar Subir(..) y Bajar(...)
-1-

FIUBA Tcnicas de programacin Concurrentes 2

2007

Trabajos para la cursada


7.2.El carro debe invocar Cargar(..) y Descargar(...).
7.3.El carro slo parte con n pasajeros que pueden subir o bajar solo cunado el carro carga o
descarga.
8. Un bar muy especial atiende grupos de a n comensales. Si al llegar hay lugar, un comensal
puede sentarse. Si no hay lugar, debe esperar en cola a que todo el grupo termine. Si hay lugar pero
hay gente en la cola (alguno del grupo se fue, pero el grupo no termin), debe hacer la cola.

Estudio para el Final


Adems de los temas desarrollados en las guas, Debern conocerse (y poder hacer
ejemplos) los siguientes elementos de Java:
1. Futures, Callables y relacionados.
2. CompletionService y relacionados.
3. CountDownLatch y relacionados.
4. Exchanger y relacionados.
5. CyclicBarrier y relacionados.
6. ScheduledExecutorService y relacionados.

-2-

Das könnte Ihnen auch gefallen