Next: Planificación con prioridades
Up: Tareas de programación
Previous: Empezando
  Índice General
PingPONG
- Implementa el pingPONG perfecto.
Ten los siguientes detalles en cuenta:
- Experimenta con los diferentes intentos presentados en los apuntes.
- Desarrolla una solución con las siguientes propiedades:
- Usa tres hilos (un hilo para el programa principal, o el árbitro,
y un hilo para cada jugador).
- El árbitro inicia el juego (mensaje previo a la pantalla).
- Los jugadores producen sus pings y PONGs
alternamente.
- El árbitro termina el juego después de cierto tiempo
(mensaje previo a la pantalla).
- Los jugadores realizen como mucho un intercambio de pelota más.
- Ambos jugadores/hilos terminan (mensaje previo a la pantalla).
- El árbitro escribe el último mensaje.
- El programa termina.
- Observa la diferencia entre el uso de notify()
y notifyAll(), sobre todo respecto a despertas ``inútiles''
de hilos.
- Implementa el pingPONG entre dos ordenadores.
- Asume que los IPs están conocidos.
- Duplica la salida en los tres ordenadores, cada uno pone un
prefijo delante, por ejemplo, arbitro:, jugar rojo:,
y jugador azul.
- Amplía el programa para que funcione como un pingPANGpongPUNG,
es decir, con 4 jugadores.
- Amplía el programa para que genere tantos jugadores (hilos) como se
desea y genera una tabla de tiempos de ejecución incluyendo también
el tiempo de ejecución con el caso del mismo
programa usando un solo hilo (que entonces imprima solamente ping).
- ¿Cuál sería una implementaciión ``perfecta'' en la cual se
despierta solamente al hilo que tiene que jugar en este instante?
Next: Planificación con prioridades
Up: Tareas de programación
Previous: Empezando
  Índice General
© 2005, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática