Je suis actuellement sur un projet où un algorithme lourd travaille en arrière plan d'une application. Je n'arrive pas à concevoir une gestion d'état de mon algorithme pour savoir s'il est en cours, en attente d'arrêt, etc.
Pour l'instant j'ai 3 état :
Prêt
En cours
En attente d'arrêt
Seulement il y a un problème que j'ai pu identifier : Dans mon algorithme, je check régulièrement si on a demandé l'arrêt. Dans cette fonction, si l'arrêt est demandé, je fini la procédure (j'arrête différents composant d'une machine), je met à jour l'état de l'algorithme à "Prêt", je notifie l'interface que l'algorithme est terminé et je retourne le booléen "true". Dans la fonction appelante, si la fonction de check renvoie vrai, je termine la fonction.
Le problème apparaît quand la fonction principale de mon algorithme appelle une autre fonction et que cette dernière check l'état. De retour dans ma fonction principale, je check à nouveau et l'état n'est plus "en cours d'arrêt" et mon algorithme continue...
Auriez vous des ressources ou exemple à me conseiller pour éviter ce genre de problèmes ?
Merci
Gérer l'arrêt d'un algorithme en arrière plan
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.