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