2017-03-25 3 views
0

Nehmen wir an, ich habe eine Liste von Zeichenfolgen, die die Parameter einer Funktion sein werden.Starten Sie mehrere Threads bei einer Liste von Parametern

Wie starte ich n Threads (n ist die Länge der Liste der Parameter), alle Ausführen der gleichen Funktion, jeweils mit einem Parameter aus der Liste?

+0

das ist zu breit. Und beachte, dass Threads nicht helfen werden, wenn du die Verarbeitung beschleunigen willst, da Python GIL benutzt (globale Interpreter-Sperre). Sie müssen stattdessen Multiprocessing verwenden. –

+0

Nun aber, wie mache ich das? – Mnovdef

Antwort

-1
import threading 

single_params = ['param1', 'param2', 'param3'] 
threads = [] 
# f() will be a function that takes a single string parameter 

for p in single_params: 
    threads.append(threading.Thread(target=f, args=(p)) 

for thread in threads: 
    thread.start() 
+0

Sie haben die Threads in keiner Weise erwähnt – Mnovdef

+0

True. Ich nahm an, du wüsstest, wie man Threads startet. Wenn nicht, sollte dies hilfreich sein https://docs.python.org/2/library/threading.html#threading.Thread – Charlie

+0

Könnten Sie klarer sein? Ich meine, ich weiß, wie man Threads nacheinander mit der Hand startet, aber kann ich den Prozess automatisieren, ich weiß nicht, mit einer for-Schleife? – Mnovdef

Verwandte Themen