2016-06-15 10 views
0

Aus irgendeinem Grund startet threadTwo nie und die Ausgabe ist immer threadOne, aber wenn ich die Positionierung von threadTwo über threadOne wechsle, dann threadOne läuft nicht. Ich nehme an, es ist die Art, wie sie in die Warteschlange geraten, aber ich weiß nicht, wie ich das beheben soll.Nur ein Thread startet python

Antwort

1

Das Problem ist, wie Sie die Funktionen an die Threads übergeben. Du rufst sie an, anstatt das Rufbare zu übergeben. Sie können das Problem beheben, indem die Klammern () Entfernung:

print("thread two") 
threadTwo = Thread(target=mainLoop) 
print("thread one") 
threadOne = Thread(target=pingGetterLoop) 

Da beide Funktionen eine Endlosschleife enthalten, man bekommt nie über den ersten Aufruf, die dann für immer Schleifen.