Ich habe ein Programm was 5 Threads startet, welche ihre Daten aus einer Queue lesen.
Das klappt soweit, aber das Problem ist, dass das Programm sich nicht beendet. Ist ja auch klar, denn es fragt immer weiter ob noch Daten in der Queue sind!
Mein Code Teil sieht so aus:
Code: Alles auswählen
def run (self):
while True:
data = userPool.get()
if data != None:
self.ProcessUser(data)
else:
exit(1)
Hier würde außerdem natürlich der Fehler passieren, dass sich das Programm beendet, sobald die Queue leer ist. Aber es wird nicht überprüft ob alle Threads wirklich fertig sind. Es kann also sein, dass noch 4 Threads arbeiten wenn das Programm beendet wird.
Wie beende ich die Threads nun richtig?
so long,
Samy