Mein Multi-Threading-Skript Erhöhung um diesen Fehler zu töten:Wie alt Threads in Python
thread.error : can't start new thread
, wenn es erreicht 460 Themen:
threading.active_count() = 460
ich die alten Threads übernehmen hält stapeln, da die Skript hat sie nicht getötet. Dies ist mein Code:
import threading
import Queue
import time
import os
import csv
def main(worker):
#Do Work
print worker
return
def threader():
while True:
worker = q.get()
main(worker)
q.task_done()
def main_threader(workers):
global q
global city
q = Queue.Queue()
for x in range(20):
t = threading.Thread(target=threader)
t.daemon = True
print "\n\nthreading.active_count() = " + str(threading.active_count()) + "\n\n"
t.start()
for worker in workers:
q.put(worker)
q.join()
Wie kann ich die alten Threads töten, wenn ihre Arbeit erledigt ist? (Ist die Funktion nicht genug zurück?)
Ich habe die Rückkehr ohne Glück gegeben. threading.active_count() geht weiter. –