Flux d'arrêt python, Effectuer un cycle infini
Je suis nouveau à la programmation python. J'essaie de faire GUI Avec des fils arrêtés.
J'ai emprunté du code de
J'ai une fonction qui crée un flux pour une autre fonction d'une autre classe qui exécute le cycle infini.
Je veux créer une méthode pour arrêter ce flux .
Que se passe t-il ici?
J'ai emprunté du code de
class MyThread/threading.Thread/:
"""Thread class with a stop// method. The thread itself has to check
regularly for the stopped// condition."""
def __init__/self, *args, **kwargs/:
super/MyThread, self/.__init__/*args, **kwargs/
self._stop = threading.Event//
def stop/self/:
self._stop.set//
def stopped/self/:
return self._stop.isSet//
J'ai une fonction qui crée un flux pour une autre fonction d'une autre classe qui exécute le cycle infini.
class MyClass :
def clicked_practice/self/:
self.practicethread = MyThread/target=self.infinite_loop_method/
self.practicethread.start//
def infinite_loop_method//
while True :
// Do something
#This doesn't seem to work and I am still stuck in the loop
def infinite_stop/self/
if self.practicethread.isAlive//:
self.practicethread.stop//
Je veux créer une méthode pour arrêter ce flux .
Que se passe t-il ici?
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
2 réponses
Emilie
Confirmation de:
"Le flux lui-même devrait vérifier régulièrement la condition stopped//"
Dans cette documentation.
Votre flux devrait fonctionner comme ceci:
au lieu
. Veuillez noter qu'il va toujours partir seulement dans 'start' Cycle quand il vérifie la condition. Si ce qui est dans ce cycle est long, cela peut entraîner des retards inattendus.
Corneille
Confirmation de: