Zuweisen der Rückgabewert der Funktion einer Variablen zu, mit multiprocessing? Und ein problem, im LEERLAUF?
Ich versuche zu verstehen multiprocessing python.
from multiprocessing import Process
def multiply(a,b):
print(a*b)
return a*b
if __name__ == '__main__':
p = Process(target= multiply, args= (5,4))
p.start()
p.join()
print("ok.")
In diesem codeblock, zum Beispiel, wenn es eine variable namens "Ergebnis". Wie können wir weisen den return Wert der multiply-Funktion "Ergebnis"?
Und ein kleines problem im LEERLAUF: wenn ich versuchte, führen Sie dieses Beispiel mit der Python-Shell funktioniert es nicht richtig? Wenn ich doppelt auf .py-Datei, wird die Ausgabe so:
20
ok.
Aber wenn ich versuche, diese laufen im LEERLAUF:
ok.
Dank...
Die IDLE-Teil ist eine separate Frage (und wahrscheinlich verursacht, indem man die stdout-Umleitung im LEERLAUF tut/zu tun hat, das ist wahrscheinlich schwer zu tun, für Prozesse, die Ihren code erstellt).
InformationsquelleAutor sleepnir | 2011-08-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, ich habe es irgendwie geschafft. Ich sah der python-Dokumentation, und ich habe gelernt, dass: mit Queue-Klasse, können wir die Rückgabe von Werten aus einer Funktion. Und Letzte version von meinem code ist wie folgt:
Und es gibt auch eine pipe () - Funktion, ich glaube wir können pipe-Funktion,zu. Aber die Warteschlange war für mich, jetzt.
InformationsquelleAutor sleepnir
Funktioniert diese Hilfe? Diese nimmt eine Liste von Funktionen (und Ihre Argumente), läuft Sie parallel,
und gibt Ihre Ausgänge.: (Das ist alt. Viel neuere version ist im https://gitlab.com/cpbl/cpblUtilities/blob/master/parallel.py )
queue.get()
sollte durchgeführt werden, bevorjob.join()
InformationsquelleAutor CPBL