Tabla de contenidos
Fichero test.c que debes descargar en tu directorio actual.
Conteste a las siguientes cuestiones:
Lee la documentación de Helgrind. ¿Qué tipo de errores se pueden detectar con helgrind?
Genere un ejecutable a partir de test.c (compilando con la opción -lpthread del gcc) y ejecútelo usando helgrind. ¿Qué información sobre errores se obtiene?
Diga en la línea en qué se produce el error
Ficheros helloThreads.c y race.c que debes descargar en tu directorio actual.
Compile helloThreads.c, ejecútelo varias veces y entienda cómo funciona.
Basándose en el ejemplo anterior de creación de hilos, race.c introduce un contador que es compartido entre los hilos e incrementado por ellos. Compile race.c y ejecútelo varias veces. ¿Cuál es el valor final del contador? ¿Por qué sucede ésto? Arregle el código usando mútex. Puede utilizar helgrind para detectar errores.
De forma opcional: modifique race.c para añadir un nuevo hilo que espere hasta que el contador alcance un valor especificado (COUNT_LIMIT (Recomendación: usad helgrind para detectar errores).