Python ejecuta hilos por orden

Tengo el siguiente código:

subprocesos de importación

def send_to_server(lst): #Some logic to send the list to the server. while 1: lst = [] for i in range(1000): lst.append(i) task = threading.Thread(target=send_to_server,args(copy(lst),)) task.start() 

Tengo algunas preguntas:

1) La idea de utilizar subprocesos es porque el envío al servidor lleva tiempo y quiero continuar
Generando los datos sin ninguna parada.
El problema con este código es que si he creado el subproceso # 3 y su proceso lleva mucho tiempo,
Para ese momento el hilo # 4 se iniciará. Quiero asegurarme de que todas las listas serán enviadas al servidor por la otra que lo creé, lo que significa que el subproceso # 3 enviará al servidor los datos antes que el # 4.
Entiendo que necesito usar una Cola, pero no sé exactamente cómo.

2) ¿Debo usar copia de lst? o puedo usar lst también, no estoy seguro.

    Desea utilizar la Queue , la clase de cola segura para subprocesos en python. Me imagino que quieres un hilo para poner las cosas en la cola, y un hilo para que actúen en serie así:

     q = Queue.Queue() t1 = threading.Thread(target=fill_q,args(q, lst)) t2 = threading.Thread(target=consume_q,args(q, lst)) t1.start() t2.start() def fill_q(q, lst): for elem in lst: q.put(elem) def consume_q(q, lst): for i in range(len(lst)): send_to_server(q.get()) 

    Si está interesado en el rendimiento, puede leer sobre GIL en python, aquí https://wiki.python.org/moin/GlobalInterpreterLock