Práctica 4: (Tema 5) Dibuja dos serpientes Práctica 4: Dibuja dos serpientes (Tema 5) • Objetivos: • practicar la creación y la gestión de threads • practicar la utilización de los atributos de planificación de threads • Realización • Modificar el programa de la práctica 3 para que sean dos las serpientes que se desplazan - cada una controlada por un juego de teclas diferente • Asignar parámetros de planificación a los threads - según lo expuesto a continuación © M. Aldea oct-13 Programación Concurrente 1 Práctica 4: (Tema 5) Dibuja dos serpientes Realización Asignar parámetros de planificación a los threads: • lee_teclado: prioridad alta, política de servidor esporádico - calcula el tiempo de recarga y la capacidad teniendo en cuenta que no queremos dedicar más de 5ms de cada 100ms en el procesado de teclas (aprox. 10 teclas por segundo) - poner como máximo 4 recargas (límite por defecto en MaRTE) • dibuja_serpiente: prioridad media, política Round Robin • pone_tiempo: prioridad baja, política FIFO Los threads dibuja_serpiente deberán tener el mismo cuerpo • el thread principal pasa a cada serpiente un identificador diferente en su argumento de entrada (arg) • que permite a cada serpiente conocer la variable de la que debe obtener su sentido de movimiento, su color, etc. © M. Aldea oct-13 Programación Concurrente 2 Práctica 4: (Tema 5) Dibuja dos serpientes Arquitectura El programa constará de cuatro threads: sentido movimiento 1 lee teclado (Prio alta) sentido movimiento 2 T=0.1seg dibuja serpiente 1 (Prio. media) T=1seg T=0.1seg pone tiempo dibuja serpiente 2 (Prio. baja) (Prio. media) Programación Concurrente © M. Aldea oct-13 3 Práctica 4: (Tema 5) Dibuja dos serpientes Entrega Enviar por e-mail al profesor ([email protected]): • Código desarrollado Programación Concurrente © M. Aldea oct-13 4