Bonjour à tous,
Je travaille actuellement sur un projet et je dois m'occuper de la gestion de la concurrence.
J'ai une classe principale "Controller" qui gere le lancement et la mise en pause de processus. Mes processus sont des instances d'une classe "worker" qui hérite de Thread.
Controller lance les processus (avec start()) et ceux-ce s'arretent (avec wait()), Controller les débloque un par un (avec un notify()). Seulement les processus ont un temps maximal pour s'executer. Si ce temps est atteint, je dois l'arreter et il reprendra son execution la ou il s'est arrêté au prochain tour.
Mon problème est que lorsque Controller tente d'arrêter un processus au bout d'un certain temps, ce n'est pas un Worker qui s'arrete mais Controller lui-même.
Est-ce mon utilisation de wait() et notify() qui est fausse ou faut-il passer par une autre facon de faire?
Merci d'avance pour vos réponses.
P.S. j'ai mis un code d'exemple que j'utilise pour tester la gestion que je dois faire
Partager