El multiproceso de Python no se inicia

Aquí está mi código para una tarea simple de multiprocesamiento en python

from multiprocessing import Process

def myfunc(num):

    tmp = num * num
    print 'squared O/P will be ', tmp
    return(tmp)


a = [ i**3 for i in range(5)] ## just defining a list

task = [Process(target = myfunc, args = (i,)) for i in a]  ## creating processes

for each in task : each.start()  # starting processes <------ problem line

for each in task : each.join()   # waiting all to finish up

Cuando ejecuto este código, se cuelga en cierto punto, así que para identificarlo lo corrí línea por línea en el shell de Python y encontré que cuando llamo 'each.start ()' El shell muestra un cuadro de diálogo como:

" The program is still running , do you want to kill it? '

y selecciono 'si' la cáscara se cierra.

Cuando sustituyo Process con 'threading.Thread', se ejecuta el mismo código pero con esta salida sin sentido:

Squared Squared Squared Squared Squared  0    1491625
36496481

¿Hay alguna ayuda en este sentido? gracias de antemano

Para ejecutar mis códigos de python, uso Idlex IDE y lo inicio desde el terminal.

Tengo el procesador Intel Xeon con 4 núcleos / 8 hilos y 8 GB de RAM

Respuestas a la pregunta(2)

Su respuesta a la pregunta