前提・実現したいこと
Python公式ドキュメントを読みながら、並列処理のためのpoolオブジェクトに関するコードを書いています。
発生している問題・エラーメッセージ
①該当ソースコードの
with Pool(5)
における5
が何を指しているのかわかりません。
②計算終了が同じタイミングでなくても同時に結果が返されるのは、リストで渡しているからでしょうか。
具体的には、以下の公式ドキュメントに以下のようなコードがありました。
こちらは、乗算なので引数[1,2,3]において計算結果が出るタイミングは同じだと思います。
しかし、該当ソースコードは累乗なので、引数の値が大きくなるほど時間がかかると考えられます。
計算が終わった順に出力することは可能なのでしょうか。
例えば以下のように出力する
2 4 8 16 32 64
シグナルハンドラなどは
このようなプログラムには使えないのでしょうか。
python
1from multiprocessing import Pool 2 3def f(x): 4 return x*x 5 6if __name__ == '__main__': 7 with Pool(5) as p: 8 print(p.map(f, [1, 2, 3])) 9 10#出力 11[1, 4, 9]
該当のソースコード
python
1from multiprocessing import Pool 2 3def f(x): 4 return 2**x 5 6if __name__ == '__main__': 7 with Pool(5) as p: 8 print(p.map(f, [1, 2, 3, 4, 5, 6])) 9#出力 10[2, 4, 8, 16, 32, 64]
補足情報(FW/ツールのバージョンなど)
Python3.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/09/30 09:03
2018/09/30 09:11
退会済みユーザー
2018/09/30 09:30