※記事内に商品プロモーションを含むことがあります。
はじめに
Pythonの標準ライブラリmultiprocessingを使って並列計算を行う。
環境
ソフトウェア | バージョン |
---|---|
python | 3.7.4 |
各並列処理間でデータを共有せず並列計算を行う場合
並列化した各処理間でデータを共有せずに並列計算を行う場合、multiprocessing
モジュールのPool
クラスを使うだけで良い。
次のプログラムでは、0から9までの各整数の2乗を計算する。
|
|
実行結果:
|
|
上記のプログラムを開設する。Pool
クラスは
|
|
の中で始める必要がある。
また、Pool
の引数は、使用するワーカープロセスの数(並列計算プロセス数)である。作成したPool
オブジェクトpool
のmap
メソッドに対し、第1引数に関数、第2引数に関数の引数(イテレータ形式)を渡す。
さらに、計算終了後にPool
オブジェクトを消去する必要がある。with
構文を使わない場合、以下のようにclose
メソッドを使う。
|
|