[Python] Problèmes avec les thread
Fermé
darkneurone
Messages postés
39
Date d'inscription
dimanche 11 mars 2007
Statut
Membre
Dernière intervention
12 juin 2008
-
12 juin 2008 à 12:45
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 9 déc. 2008 à 16:36
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 9 déc. 2008 à 16:36
A voir également:
- Unhandled exception in thread started by
- By iara shoes avis - Forum Consommation & Internet
- A java exception has occurred ✓ - Forum Minecraft
- Deco in paris avis ✓ - Forum Consommation & Internet
- Dns probe started ✓ - Forum Réseau
- Navigation in private - Guide
5 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
8 déc. 2008 à 13:43
8 déc. 2008 à 13:43
Ton programme ne vérifie pas que les threads sont morts avant de quitter ( avec join() ).
Résultat: Une fois le thread principal terminé, le garbage collector commencer à nettoyer les objets alors qu'il y a encore des threads vivants, d'où les exceptions.
Résultat: Une fois le thread principal terminé, le garbage collector commencer à nettoyer les objets alors qu'il y a encore des threads vivants, d'où les exceptions.
Bonjour,
J'ai exactement le même problème, mais avec un système embarqué.
Le programme suivant :
import thread
def plop(pid):
print str(pid)
for i in range(6):
thread.start_new(plop,(i,))
Me donne :
[root@armadeus test_soft]# python test.py
0
1
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Si quelqu'un à une idée ?
J'ai exactement le même problème, mais avec un système embarqué.
Le programme suivant :
import thread
def plop(pid):
print str(pid)
for i in range(6):
thread.start_new(plop,(i,))
Me donne :
[root@armadeus test_soft]# python test.py
0
1
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Si quelqu'un à une idée ?
Merci,
Maintenant ça fonctionne.
Du coup je suis obligé d'utiliser le module threading et de faire une classe qui en hérite :
Maintenant ça fonctionne.
Du coup je suis obligé d'utiliser le module threading et de faire une classe qui en hérite :
import threading class MyThread(threading.Thread): def __init__(self,myId): self.myId = myId threading.Thread.__init__(self) def run(self): print str(self.myId) threads = [] for i in range(6): thread = MyThread(i) thread.start() threads.append(thread) for thread in threads: thread.join() print "end"
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
9 déc. 2008 à 16:32
9 déc. 2008 à 16:32
De rien. Content que ça fonctionne.
L'utilisation de la classe threading est une bonne chose.
L'utilisation de la classe threading est une bonne chose.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
9 déc. 2008 à 16:36
9 déc. 2008 à 16:36
Et puis on se rend vite compte que c'est plus pratique.