Comment relancer des threads après les avoir arrêtés
Bonsoir,
Comment peut on faire pour relancer des threads après les avoir arrêtés?
Ci dessous le programme qui me permet de les lancer et de les arrêter.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
# importations
from tkinter import Tk, Canvas, Button
import time
import AffThread4
thread2 = AffThread4.Afficheur('W')
thread3 = AffThread4.Compteur()
palette=['purple','cyan','maroon','green','red',\
'blue','orange','yellow','dark grey']
# --- définition des attributs de ligne et
# des fonctions gestionnaires d'événements : ---
class Menu():
# couleur = palette [c] # couleur de la ligne
def marche():
end=True
# thread1.start()
thread2.start()
thread3.start()
def arret():
end=False
# thread1.stop()
thread2.stop()
threda3.stop()
#------ Programme principal -------
# Création du widget principal ("maître") :
laFenetre = Tk()
# création des widgets "esclaves" :
cannevas = Canvas(laFenetre,bg=palette[1],height=200,width=200)
cannevas.pack(side= "left")
boutonMarche = Button(laFenetre, text='Marche', command=Menu.marche)
boutonMarche.pack(padx=10, pady=10)
boutonArret = Button(laFenetre, text='Arrêt', command=Menu.arret)
boutonArret.pack( padx=10, pady=10)
boutonQuitter = Button(laFenetre, text='Quitter', command=laFenetre.quit)
boutonQuitter.pack(side="bottom", padx=5, pady=5)
laFenetre.mainloop () # démarrage du réceptionnaire d'événements
laFenetre.destroy () # destruction (fermeture) de la fenêtre |
Ainsi que le message retourné après une tentative de Marche à nouveau.
Citation:
RuntimeError: les threads ne peuvent être démarrés qu'une seule fois
Merci d'avance
Cordialement