Bonjour à tous et toutes,
Je suis en train d'apprendre à utiliser les threads en C, et à coup sûr, je n'ai pas compris comment sont gérées les variables au sein des threads.
Mon programme doit permettre le lancer des billes dans une aire de jeux, chaque bille étant gérée dans un thread différent. Le cycle d'une bille consiste en sa création, son déplacement pendant un temps, puis sa destruction.
J'arrive correctement à faire la gestion des billes dans chaque thread, les billes se déplacent correctement jusqu'au moment où la première bille qui arrive en fin de vie se fait détruire. A ce moment, le programme ne peut plus accéder aux autres billes et donc plante avec un beau "seg fault". L'impression que j'ai est que au final la bille traitée dans chaque thread serait une seul et même bille en mémoire, et donc lorsque je la détruis ce serait tout à fait normal que le programme plante.
Par quels moyens peut ont faire en sorte qu'une bille soit unique à la fonction d'un thread ? ( afin de pouvoir les détruires dans les threads sans affecter les autres).
je joins au poste le programme de lancer des billes avec le traitement des threads.
Je vous remercie par avance de votre aide !![]()
Partager