Question: pourquoi mon DAL ne fonctionne-t-il pas sur son propre thread?Le thread Python ne se sépare pas du thread parrent
J'ai ce programme sur lequel j'ai travaillé sur lequel j'ai implémenté un gestionnaire de fichiers simple. C'est loin de ma première expérience de travail avec des threads, mais pour une raison quelconque, je ne peux pas faire fonctionner celui-ci. J'instancier mon DAL ici:
self.DAL = DAL(path)
##prepare the reactor
self.DALrec = threading.Thread(target=self.DAL.reactor,name='DALReactor')
self.DALrec.run()
Le réacteur a cela il:
def reactor(self):
while not self.kill:
##check for new entries:
for i in self.ins:
self.save(i)
##wait a minute before checking again.
time.sleep(60)
pas compliqué. J'instancie le DAL qui tombe en panne et instancie un thread, comme je l'ai toujours fait. Mais pour une raison quelconque, je reçois un comportement vraiment bazar à partir de cela. Au lieu d'appeler 'run' et le thread principal continuant à laisser le thread à sa propre entreprise, il traite 'run' comme si j'appelais self.DAL.reactor()
depuis le thread principal. Dans mon débogueur (winpdb, qui a fonctionné sur ma version précédente de ce programme), je devrais voir un nouveau thread en cours de création, mais il ne reste qu'un seul thread.
Quelqu'un at-il une idée de la raison pour laquelle je n'ai qu'un seul thread ici au lieu de deux? Merci.
oh blast. Je me souviens pas. laisse-moi essayer ça vite. – Narcolapser
qui l'a fait. Merci. – Narcolapser
Content de pouvoir aider :) – MByD