Python-Multiprozess kann nicht gestartet werden

Hier ist mein Code für eine einfache Multiprozessor-Aufgabe in 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

Wenn ich diesen Code ausführe, hängt er an einem bestimmten Punkt. Um ihn zu identifizieren, habe ich ihn Zeile für Zeile in der Python-Shell ausgeführt und festgestellt, dass beim Aufrufen von 'each.start ()' die Shell ein Dialogfeld mit folgendem Inhalt anzeigt:

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

und ich wähle "Ja", um die Shell zu schließen.

Wenn ich Process durch 'threading.Thread' ersetze, wird derselbe Code ausgeführt, jedoch mit der folgenden Unsinnausgabe:

Squared Squared Squared Squared Squared  0    1491625
36496481

Gibt es diesbezüglich irgendeine Hilfe? Danke im Voraus

Um meine Python-Codes auszuführen, verwende ich Idlex IDE und starte es vom Terminal aus.

Ich habe Intel Xeon-Prozessor mit 4 Kernen / 8 Threads und 8 GB RAM

Antworten auf die Frage(2)

Ihre Antwort auf die Frage