Bonjour,
Je dois créer un thread qui peut soit s'arrêter de lui même, soit s'arrêter si on lui demande.
Donc je lui transmet l'adresse d'une variable que je peut modifier dans mon programme principal, et quand je met cette variable à 0, le thread quitte.
En quittant le thread met la variable à 0 avant de quitter pour indiquer qu'il ne tourne plus, au cas où il aurait quitté de lui même.
Lorsque je dois lancer ce thread je vérifie que la variable est à 0 car je ne veux pas en avoir deux en même temps.
Mon problème :
* Si je demande au thread de s'arrêter (var <- 0) et que je veux en lancer un autre trop vite, alors le thread qui était en train de quitter va remettre var à 0 en quittant alors que je l'avais remis à 1 pour le nouveau thread, qui va donc quitter lui aussi.
Il peut aussi se poser le problème qu'en remettant la variable à 1 pour le nouveau thread, l'ancien thread n'ai pas eu le temps de voir que var a été mis à 0 pour qu'il quitte, et je me retrouve avec 2 thread.
Avez vous une solution à me proposer?
merci
Partager