o multiprocesso python falha ao iniciar

Aqui está o meu código para uma tarefa simples de multiprocessamento em 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

Quando executo esse código, ele fica travado em um determinado ponto; portanto, para identificá-lo, executei-o linha por linha no shell python e descobri que quando eu chamo 'each.start ()' O shell abre uma caixa de diálogo como:

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

e eu seleciono 'yes' o shell fecha.

Quando substituo Process por 'threading.Thread', o mesmo código é executado, mas com essa saída sem sentido:

Squared Squared Squared Squared Squared  0    1491625
36496481

Existe alguma ajuda nesse sentido? Agradeço antecipadamente

Para executar meus códigos python, uso o Idlex IDE e inicio no terminal.

Tenho processador Intel Xeon com 4 núcleos / 8 threads e 8 GB de RAM

questionAnswers(2)

yourAnswerToTheQuestion