私はPythonでマルチプロセッシングを理解しようとしています。関数の戻り値を変数に代入すると、多重処理が行われますか?そしてIDLEについての問題?
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.")
このコードブロックでは、たとえば、「結果」という変数があった場合です。乗算関数の戻り値を "result"にどのように割り当てることができますか?
IDLEについて少し問題があります。このサンプルをPythonシェルで実行しようとすると、正しく動作しません。私はの.pyファイルをダブルクリックすると、出力はそのようなものです:
20
ok.
しかし、私はIDLEでこれを実行しようとした場合:
ok.
おかげで...
IDLEの部分が別々ですIDLEが行う/しなければならない標準的なリダイレクションによって引き起こされている可能性があります。これは、あなたのコードが生成されたプロセスでは難しいでしょう。 – delnan