2017-07-26 3 views
0

(Je suis tout à fait novice en Python ....)Exécution de plusieurs threads en Python et les fermer lorsque vous avez terminé

J'ai une méthode que je dois exécuter en parallèle.

Il fonctionne bien, mais quand la méthode se termine, rien ne se passe ... et la ligne suivante n'est pas appelée.

q = Queue.Queue() 
for driver in drivers: 
    t = threading.Thread(target=DoSomeStuff, args=(args.build, driver)) 
    t.daemon = True 
    t.start() 
s = q.get() 
print s 
+0

Quelle est la "ligne suivante" qui n'a pas été exécuté? Qu'est-ce que 'q' ici? –

+0

pouvez-vous en partager plus? – brotherperes

+0

juste mis à jour la question –

Répondre

0

La pièce de travail de code est:

drivers = ["a", "b", "c"] 
threads = [] 

for driver in drivers: 
    t = threading.Thread(target=DoSomeStuff, args=(driver)) 
    threads.append(t) 
    t.start() 

for t in threads: 
    t.join()