1 Añadir soporte de concurrencia a un juego.
- Se trata de la versión en C++ del juego Galaga para GNU/Linux + X11: Xgalaga++.
- Descarga la última versión disponible de Xgalaga++, compílalo y ejecútalo en GNU/Linux. Debería funcionar sin problemas.
- El código está escrito siguiendo un esquema orientado a objetos, haciendo uso en determinadas partes genericidad así como algún patrón de desarrollo software (Singleton).
- Toda la ejecución del juego se realiza en un solo hilo y aquí es
donde entra el desarrollo de esta práctica optativa:
- Estudia el código e identifica qué partes del mismo son susceptibles de ejecutarse concurrentemente.
- Elije alguna o algunas de ellas e implementa el soporte de concurrencia mediante el uso de hilos de la biblioteca estándar de C++.
- Analiza las pegas que has encontrado para implementar tu código así como el resultado final (¿observas mejores tiempos de ejecución?, ¿hay deadlocks?, ¿aparece algún fallo que en la versión mono-hilo no había?, etc…).
2 Entrega
-
Se realiza en pracdlsi en las fechas allí indicadas. Puedes entregar tantas veces como quieras, solo se corrige la ultima entrega.
-
Crea una carpeta llamada
p9
y dentro de ella estarán el código y archivos de texto o PDF donde detallas tu trabajo. Esta carpeta la comprimes en un archivo llamadop9.tgz
p.e. así usando el terminal:tar cfz p9.tgz p9