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