Python multiprocess nie uruchamia się

Oto mój kod do prostego zadania wieloprocesowego w Pythonie

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

Kiedy uruchamiam ten kod, zawiesza się on w pewnym momencie, więc aby go zidentyfikować, uruchomiłem go wiersz po wierszu w powłoce Pythona i odkryłem, że gdy wywołam 'each.start ()' Powłoka wyświetla okno dialogowe:

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

i wybieram „tak”, powłoka się zamyka.

Kiedy zamieniam proces na „threading.Thread”, uruchamiany jest ten sam kod, ale z tym nonsensem:

Squared Squared Squared Squared Squared  0    1491625
36496481

Czy jest jakaś pomoc w tym zakresie? z góry dziękuję

Aby uruchomić moje kody Pythona, używam Idlex IDE i uruchamiam go z terminala.

Mam procesor Intel Xeon z 4 rdzeniami / 8 wątków i 8 GB pamięci RAM

questionAnswers(2)

yourAnswerToTheQuestion