Ejecutando múltiples hilos al mismo tiempo

Por lo tanto, mi objective es que la función do_something() su propio subproceso para que do_something() pueda ejecutarse en paralelo en lugar de tener que esperar a que finalice el anterior. El problema es que parece que no es multihilo (lo que significa que un hilo termina antes que el otro).

 for i in range(len(array_of_letters)): if i == "a": t = threading.Thread(target=do_something()) print "new thread started : %s"%(str(threading.current_thread().ident)) t.start() 

También tengo un current_thread().ident dentro de la función do_something() pero parece que la identidad del subproceso que se inicia es la misma que la del subproceso principal desde donde se ejecuta la secuencia de comandos de python. Creo que mi enfoque es incorrecto.

Este es un error común y fácil de caer por error.

target=do_something() simplemente ejecuta su función al mismo tiempo en el subproceso principal y pasa None (el valor de retorno de su función, supongo) como función de target al subproceso, que no activa ningún error visible; pero tampoco hace nada.

Tienes que pasar la función real, no el resultado:

 t = threading.Thread(target=do_something) 

trabajará mejor